在 CentOS 中 Nginx 安装步骤
安装必要的工具
gcc安装
yum -y install gcc-c++
pcre安装
yum -y install pcre pcre-devel
zlib安装
yum -y install zlib zlib-devel
OpenSSL安装
yum -y install openssl openssl-devel
安装 Nginx
获取 Nginx 源码
- 通过 https://nginx.org/en/download.html 下载源码包,获取链接
- 用
wget
下载到 CentOS 系统本地 tar -zxvf nginx-1.12.2.tar.gz
解压到想要的目录
配置
进入源码目录,使用如下命令在编译前进行配置
./configure \
--user=nginx --group=nginx \ #安装的用户组
--prefix=/usr/local/nginx \ #指定安装路径
--with-http_stub_status_module \ #监控nginx状态,需在nginx.conf配置
--with-http_ssl_module \ #支持HTTPS
--with-http_sub_module \ #支持URL重定向
--with-http_gzip_static_module #静态压缩
编译、安装
make && make install
反向代理配置
location /{
proxy_pass http://localhost:8080;
proxy_set_header Host $host:$server_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
在反向代理时将客户端真实IP
location /{
... ...
proxy_set_header Host $host;#保留代理之前的host
proxy_set_header X-Real-IP $remote_addr;#保留代理之前的真实客户端ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;#在多级代理的情况下,记录每次代理之前的客户端真实ip
proxy_set_header X-Forwarded-Proto $scheme; #表示客户端真实的协议(http还是https)
proxy_redirect default;#指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值
}
静态路径引用 root 和 alias
location / {
alias /root/server/ruoyi/web/;
# root html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
解决 Vue 页面刷新被重定向
location / {
... ...
try_files $uri $uri/ /index.html;
}
单独配置API接口域名后,前端请求报 403 错误
由于单独给 API 配置域名api.xxx.xx
,Vue前端使用默认域名www.xxx.xx
,实际发生了跨域请求,导致 403 错误。
这里需要添加配置,允许跨域请求服务,OPTIONS握手请求返回204,不再阻碍POST继续请求
location / {
... ...
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers '*';
if ($request_method = 'OPTIONS') {
return 204;
}
}
参考
FEATURED TAGS
数组
javascript
html
sqlite
抓取
爬虫
python
宕机
通关
游戏
ruoyi
若依
高项
论文
软考
工具
Tools
Windows
禅道
Nacos
iconfont
icon
transition
大数据
Kafka
Flume
CA
Whistle
抓包
idea
Gateway
梯子
代理
Clash
Halo
lanproxy
测试
Solo
保护费
Retropie
复古派
RaspberryPi
树莓派
KeePass
Password
密码
https
GBK
Sublime Text
CSS
微信商户
渠道
Android
redis
JMeter
CentOS
跨域
服务中心
注册中心
Consul
消息队列
RabbitMQ
SpringCloud
ssh
公钥
Mac
表情
乱码
ssl
sqlserver
jdbc
java8
阿里云
aliyun
tomcat
二维码
公众号
微信
主从
mysql
廖师兄
SpringBoot
微服务
Docker
解密
加密
CryptoJS
js
assembly
maven
blade
宝可梦
漂移
JoyCon
WiiU
npm
vue
node
定时
crontab
Linux
Switch
Nintendo Switch
archive
git
任天堂
3DS
动森
PB汉化组
汉化
动物之森
手柄
八位堂
对比
PS3
NS
nginx
blog
java