Linux- 虚拟机安装与项目部署

参考

关于虚拟机的安装

关于虚拟机的联网

关于部署前后端分离项目到 Linux 服务器

工具

总结

修改核心配置

  • 日志配置:修改日志输出编码格式,使用 UTF-8;
  • 应用配置:后台服务器启动端口、redis 服务器地址、token 的规则;
  • 数据源配置:数据库的连接方式;

前端项目打包

  • 下载和安装依赖:npm isntallyarn install
  • 打包成 dist 目录:npm run build:prod;(指定为生产环境版本)
    注意配置静态文件的引用地址。

后端项目打包部署

jar 包

  1. maven 打包:mvn package
  2. 打完包后台运行:nohup java -jar <jar包>.jar &

war 包

  1. pom.xml 指定打成 war 包:<packaging>war</packaging>
  2. 如果要部署到单独的 web 容器,那么要排除 SpringBoot 自带的 tomcat 容器:
1
2
3
4
5
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
  1. 编写一个启动的辅助类:
1
2
3
4
5
6
public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(<原启动类>.class);
}
}
  1. 把war包放到tomcat/webapps中;如果要把后台项目部署到根路径,可以参考:将应用部署到Tomcat根目录的三种方法

nginx.conf 配置代理

  1. 保证权限:user root;

  2. 配置代理:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
server {
listen 80;
server_name localhost;

location / {
# root指根路径,值为项目的根目录
root /root/dist;
index index.html index.htm;
}

# 代理转发路径为v1的接口到后端
location /v1/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:9527/v1/;
}

# 代理转发路径为profile的接口到后端
location /profile/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:9527/profile/;
}
}

修改完配置文件记得重启 nginx:./nginx -s -reload