Nginx使用:反向代理、动静分离
2022-11-26 本文已影响0人
___TheOne___
1.背景
将改造好的威高抽奖平台
发布3.239
公测Linux服务器,方便后续同前端联调。
1> 监控tomcat日志,得知威高抽奖平台
已在服务器的8333端口
上启动成功;
2> 但3.239
公测Linux服务器,对外网只开放了Nginx 80端口
;
3> 所以需要将威高抽奖平台
,配置Nginx反向代理才能访问。
4> 另外将项目之前OSS存储图片
的方案,改造为服务器本地存储
且 图片访问使用Nginx动静分离。
2.使用细节
2.1 Nginx反向代理
在服务器的/usr/local/nginx/nginx/conf/nginx.conf
文件中,添加如下配置:
# 威高抽奖平台-反向代理配置
location /luck-main {
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' '*';
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:8333/luck-main;
}
说明:
- 使用
whereis nginx
命令,查找Nginx在服务器上的安装目录; - nginx.conf文件修改后,要使用
/usr/local/nginx/nginx/sbin -s reload
命令重启nginx使得最新的配置生效; - 使用curl命令,逆向验证
项目首页
是否可正常访问到
curl http://127.0.0.1:8333/luck-main/login.html
;
2.2 Nginx映射图片目录

验证:
- 放置一张图片,即
/mnt/luck-main-img/jaden/6688.jpg
; - 浏览器访问:
http://malltestv2.59wanmei.com/luck-main-img/jaden/6688.jpg
,就能看到对应的图片内容,说明配置成功。
说明:
- Nginx映射图片的另一种配置方案:根据
访问路径中是否含有图片后缀名.jpg等
来映射,具体配置如下:
# 匹配范围过大,未采用
location ~* \.(gif|jpg|png|jpeg)$ {
root /mnt/luck-main/upload;
}
- 本地window操作系统,验证Nginx图片映射,目录
斜杠和反斜杠
配置注意:
location /luck-main-img/ {
#若写为D:\mnt\ nginx启动报错
root D:/mnt/;
}
- Nginx报错细节,可在
/usr/local/nginx/nginx/logs/error.log
文件中进行查看; - 访问Nginx映射的图片报
403 Forbidden
,提示这个说明Nginx可正常解析请求,但当前请求访问权限不够。
后来定位问题得知是启动用户和nginx工作用户不一致所致
,将nginx.conf
中的user nobody
改为user root
,然后重启下Nginx即可正常访问图片了。
3. 文章参考
1.Nginx配置文件nginx.conf详解-194赞
2.linux下nginx配置访问静态图片的解决办法
3.访问Nginx图片映射403 Forbidden