环境
- 服务器:机房 外网统一只暴露80端口
- 系统:CentOS 7.5
- 面板:装了宝塔面板方便管理 7.70
- Nginx:1.20.1
背景
- 一台单机服务器,上面搭建了几个静态网页,现在要为服务器增添网页的后端为前端提供服务。并保证原来的静态网页访问不受影响。
- 后端技术栈: Springboot内置Tomcat,打成jar直接执行。
- 后端端口:8080
正文 打开Ngix配置项,如果是通过宝塔安装的话,路径是:
/www/server/nginx/conf/nginx.conf
如果通过yum安装,一般路径是:
/etc/nginx/nginx.conf
如果找不到配置文件,可以用Linux的搜索搜 nginx.conf。
打开配置文件: 如果对Nginx配置文件不熟悉,可以看这篇教程:Nginx 配置详解
找到 server 代码块,如果是宝塔安装,里面自带一个 phpmyadmin 的代理(phpmyadmin 是一个Web版的mysql图形管理工具)。
我们复制一个同级的 server 代码块,并按以下填写。 (如果本来配置文件里没有 server 代码块,则手动填写一个 server{} 到 http{} 代码块里)
server
{
listen 80;
server_name xxx.com; # 你的域名,没有特殊需求的话也可以填localhost。
# 这段location用于保证原网页访问不受影响
location / {
# root 填写原网页所在的文件路径。如果是宝塔安装,路径是 /www/wwwroot/xxx,xxx是之前自定义的。
# 如果不是宝塔,则按实际情况填写。
root /www/wwwroot/xxx;
# 下面两行代码用于自动匹配index.html ,如果用户只输入了路径没输入index.html,会自动请求到index上。
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
# 这段location用于将访问springboot后端的请求转发到运行中的jar包上。
# ^~/xxx/ 用于匹配请求Url前缀,前端访问时,统一带上xxx前缀,并且会删掉这个前缀发给后端。
location ^~/xxx/ {
# 代理设置转发请求头,保证springboot后端接收到请求时能正确识别。
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
# 转发到8080端口上
proxy_pass http://localhost:8080/;
}
access_log /www/wwwlogs/indoor_map_admin.log;
}
比较关键的东西都打在nginx配置的注释上了,可细看。
|