接着上一篇内容,今天把项目部署到Linux服务器,并通过Nginx做请求代理转发。
Linux 服务器系统:CentOS 7.9 64位
- 上传jar到服务器
- 安装jdk1.8
- 云服务器安全组添加入方向的端口8080
- 通过java -jar java-web.jar 启动项目,通过ip:8080/hello测试访问
- 解析一个二级域名供java-web使用
- 配置nginx.conf
通过scp命令上传jar到服务器:
scp ./target/java-user-0.0.1-SNAPSHOT.jar root@111.16.211.111:/home
安装JDK1.8:
sudo yum install -y java-1.8.0-openjdk-devel
配置安全组:

启动项目测试访问:
java -jar java-user-0.0.1-SNAPSHOT.jar
这里我们优化下启动命令,直接java -jar 启动是属于前台启动,关了窗口服务就停了,我们改用nohup 后台启动运行
sudo nohup java -jar java-user-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
-
nohup:防止进程在退出时接收到挂起信号。 -
> app.log:将标准输出重定向到app.log文件中。 -
2>&1:将错误输出也重定向到app.log。 -
&:将进程放入后台运行。
看日志直接执行tail命令
tail -f app.log
![]()
解析域名配置Nginx:
因为我这个服务器上原来部署过php项目,nginx配置文件中原来直接转到了php,现在新增了个java-web项目,要通过php转发的话我们再创建个java-web.conf。
我先把再原来的主域名下再解析个java的二级域名(免费)供java项目使用。

配置Nginx:
在/etc/nginx/conf.d下添加一个配置文件java-web.conf

配置文件内容:
server {
listen 80;
server_name java.xxx.ink; # 一个项目直接主域名就行了
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
另一个php的项目是这么配置的:
server {
listen 80;
server_name php.xxx.ink;
# 根目录
root /usr/share/nginx/html;
# 设置首页文件
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# 将.php请求转发给PHP-FPM
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
#location ~ /\.ht {
# deny all;
#}
}
配置完成后测试下配置有没有问题:
sudo nginx -t
没问题后重载配置文件:
sudo systemctl reload nginx
接下来通过域名访问测试:


2243

被折叠的 条评论
为什么被折叠?



