踩坑:nginx代理服务器报500错误
近期公司开发官⽹,使⽤react dva antd 架构,打包后成静态资源⽂件,在阿⾥云服务器上⾯部署nginx作为静态服务器,⼀切配置好后,按照nginx的配置静态资源地址进⾏部署,发现最后服务器⼀直报500错误
nginx的配置⽂件是在f中引⼊了2个配置⽂件,⼀个是admin,⼀个是default,
admin的配置如下:
server {
listen 4200;
listen [::]:4200;
server_;
root /root/admin/admin/dist;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
default配置如下:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.inx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
nginx 配置文件}
⽬前是想⽤⼀个域名和⼀个⼦域名进⾏映射处理
<和, 阿⾥云域名映射已经做好,全部指向nginx所在的服务器,⼀开始以为⼀个服务器只能⽤⼀个80端⼝,后来朋友提点说nginx⼦域名也可以代理80端⼝,意思就是说⼀台服务器⾛80端⼝可以⾛不⽌⼀个,只要你的域名和⼦域名不重复.
按照以上配置⼀直提⽰500 nginx错误.后来朋友提⽰说不要将⽂件分开,写在⼀个⽂件⾥⾯,并且server_name直接写域名,于是更改为如下配置:
server {
listen 80;
root /var/www/html;
index index.html index.inx-debian.html;
server_;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
server {
listen 80;
server_;
root /root/admin/admin/dist;
index index.html;
location / {try_files $uri $uri/ =404;}
}
这样修改后就没有再报500错误,但是新问题出现了: 报了404错误,然后检查配置的资源路径没问题,最后突然发现⽇志中出现了nginx没有权限访问该资源路径,后来把资源路径放到了nginx有访问权限的路径下,然后访问就正常了
root /root/admin/admin/dist;
修改为
root /var/www/dist;
root路径下nginx⽆法访问,需要将路径改为nginx能访问的地⽅,或者将这个路径的权限放开也可以解
决这个问题,考虑到安全问题就选择放在指定位置,没有解开权限
开启了https请⼀定要将阿⾥云的443端⼝放开, 新买服务器默认是关闭的!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。