nginx服务器配置问题心得

事情经过

今天把新的Vue工程部署到nginx服务器上的时候,莫名其妙的网站就打不开了,报500系列错误。nginx服务器error.log日志提示各种错误(之前是没有这个问题的)
一开始报错favicon.ico访问不到,发现是项目权限问题chmod一下就好了。但还是有错误…

出现的各种错误

1、rewrite or internal redirection cycle 系列错误。在这里插入图片描述

解决办法

如图,将该行的last改为break

2、"/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)问题

在关闭nginx服务器后,执行重新加载nginx配置命令的时候,报错没有nginx.pid文件

: open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

解决办法:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

原理:

使用nginx -c的参数指定nginx.conf文件的位置

3、怀疑是工程权限问题

一开始查看项目的文件权限的时候,确实是权限不够的原因
解决办法

chmod -r 777 dist/
# 更改dist/文件夹的权限

4、"/root/VueProject/dist/index.html" failed (13: Permission denied)系列问题

4.1、路径配置问题

在这里插入图片描述
如上图,因为我把项目放在了root用户里面,所以user参数改成用户名(我的是root)
在这里插入图片描述
我们通常把Vue项目放在上图41行的目录(var/)下,但是我放在了root用户的VueProject目录下,所以要进行修改,如图43行(之前用42行的路径也是行的,但是这次更新了Vue项目包后就不行了)。

总结

总结一下nginx.conf配置文件要修改的地方吧

#user  nobody;
user  root;			# 如果项目不在根目录(在用户目录下),要指定用户名
worker_processes  1;

events {
    
    
    worker_connections  1024;
}

http {
    
    
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
    
    
        listen       8081;			# 你的服务的端口号
        server_name  localhost;
   #     server_name  39.102.63.221;

        #root /var/www/VueProject/dist;
        root /root/VueProject/dist;			# 路径,必改。

        location / {
    
    
            try_files $uri $uri/ @router;
			#root   html;
            index  index.html index.htm;
        }

        location @router {
    
    
            rewrite ^.*$ /index.html break;			# break参数不报错不改
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
    
    
            root   html;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/DSK_981029/article/details/111771603