Linux环境下的Java项目部署技巧:项目部署
部署 SpringBoot 项目:
-
安装部署环境(请看我的历史文章),并启动
-
前端项目打包:
npm run build:prod //执行之后会产生一个 dist 文件夹
-
后端项目打包:
install //执行之后会产生一个 xxx.jar 的文件
-
开放需要的端口号:
- 比如我的后端端口号为 8282,则需要防火墙和服务器同时开放 8282 端口
-
将 dist 上传到 nginx/html 文件夹,有两种办法:
- 将 dist 里面的文件覆盖掉 html 里面的所有文件
- 将整个 dist 上传到 html 文件夹下
-
将 jar 文件上传到服务器任意文件夹下
-
配置 nginx 文件:
- 可以直接在 nginx/conf/nginx.conf 文件中配置
server{ listen 80; server_name localhost; location / { root /usr/local/nginx/html; index index.html; } location /prod-api/ { proxy_pass http://62.234.175.16:8282/; } }
- 引入外部配置文件,例如添加配置文件夹和配置文件在 nginx/conf/conf.d/*.conf:
- nginx.conf 文件添加以下字段并注释掉其它字段
include /usr/local/nginx/conf/conf.d/*.conf;
- conf.conf 文件编辑如下:
server{ listen 80; server_name localhost; location / { root /usr/local/nginx/html/dist; index index.html; } location /prod-api/ { proxy_pass http://62.234.175.16:8282/; } }
- 可以直接在 nginx/conf/nginx.conf 文件中配置
-
启动前端:
- 进入 nginx/sbin 目录,执行命令 ./nginx -s reload
-
启动后端:
- 进入存放 jar 文件的目录,执行命令:
- 前台启动:java -jar xxx.jar
- 后台启动:nohup java -jar xxx.jar &
- 进入存放 jar 文件的目录,执行命令:
-
至此项目部署完成
部署 SSM 项目:
-
将所有项目打包:
-
将 jar 包 和 war 包放到 Tomcat 目录的 webapps 目录下
-
启动 Tomcat
- win:进入 Tomcat 目录的 bin 下,双击 startup.bat
- linux:进入 Tomcat 的 bin 目录执行命令:./startup.sh
-
访问:
- 地址栏输入 http://ip地址:tomcat 端口号,访问即可
- 如:http://localhost:8080/song/list
-
注意:
- 需要在 Tomcat 目录的 conf 目录的 server.xml 添加以下配置,不然静态资源访问不到,因为在生成的过程中改变了静态资源的位置:
<Service name="Catalina1"> <Connector port="8081" pr otocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <Context path="/" docBase="/hami-portal-1.0-SNAPSHOT" reloadable="true"></Context> </Host> </Engine> </Service>
- 需要在 Tomcat 目录的 conf 目录的 server.xml 添加以下配置,不然静态资源访问不到,因为在生成的过程中改变了静态资源的位置: