title: Nginx配置踩坑
date: 2019-09-07 08:06:34
tags: Nginx
categories:

  • 服务器
  • Nginx

时间:2019/09/07

喜大普奔,小张昨天把服务器玩崩了,重新装的阿里云镜像,数据库、软件全没了。记录重新部署路上各种奇坑:

把打包好的项目部署到nginx上,一访问各种报500错误;

最可恶的是,所有的conf文件都是我在服务器崩之前拷下来的原版conf文件,让人头秃。
原来,nginx不同版本conf写法不尽相同,最终:我把所有conf里的server对象都整理到了一起,才堪堪解决问题。

融合了全部server对象的default.conf内容:

server { # 这个是默认自带的
    listen       80;
    server_name  wizardj.cn;

# 内容太多,不展示了
...
}
server { 
           listen 80;
...
}
server {
            listen 80;
...
}

# admin access
server {
...
}

500终于解决了,开始403了,呵呵。。。

不过小张作为一个后端出身的人才,403的规矩还是懂的,权限嘛,把/etc/nginx/nginx.conf文件中的user改为root就万事大吉了。

user  root;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
~

路径替换问题

这一个小张以前没怎么注意过,nginxhttp://blog.wizardj.cn/api请求转发到本地时并没有替换掉/api这个路径,我希望前端请求http://blog.wizardj.cn/api/login时,被请求的地址是:"http://proxyed.XXX/login"而并非是http://proxyed.XXX/api/login;

原来:只要在proxy这个属性后面加上/就好了,即proxy_pass http://proxyed.xxx/;

server {
            listen 80;

            server_name blog.wizardj.cn;

            root ...;

            index index.html;

            location / {
                try_files $uri $uri/ /index.html;
            }

            location /api/{
                proxy_pass http://proxyed.xxx/;
            }

           gzip on;
           gzip_buffers 32 4k;
           gzip_comp_level 9;
           gzip_min_length 200;
           gzip_types text/css text/xml application/javascript;
           gzip_vary on;
}

哥一嗷,giao~