前置注意
-
自己新建一个账户,不要用它的nginx,不然连目录都没有
- 详情参考jenkins里面
- 把下面命令中的nginx换成自己的账户名
-
尝试
nginx -t,出现错误nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)- 办法:
sudo chown -R nginx:root /var/log/nginx- 好像改了也没啥用,这个错误必定出现,只有
sudo nginx -t才会不报错
- 好像改了也没啥用,这个错误必定出现,只有
nginx: [emerg] could not build server_names_hash, you should increase server_names_hash_bucket_size: 32- 办法:
sudo vim /etc/nginx/nginx.conf- 在
http{}内添加一行server_names_hash_bucket_size 64; - 一开始是32不行,后面64就行了,如果还不行,就再加一倍
- 在
- 办法:
-
由于新版本
nginx.conf里面将nginx默认设置为软件进程用户,所以:- 需要先新建
网站根目录mkdir -p /opt/www - 然后迭代设置为
nginx用户权限chown nginx:root /opt/www/ -R - 如果是需要做jenkins自动化部署,需要单独创建一个账户,然后存放公钥,这样直接把
nginx.conf里面的用户换成自己建立的就好,然后用户权限也给自己建立的
- 需要先新建
-
配置文件虽然在根目录下
./nginx.conf,但不建议直接改写这个- 所以要在
./conf.d/目录内自己写default.conf(如果没有,需要自己新建) - 为什么这样写可以?
- 因为nginx.conf里面有如下一行:
include /etc/nginx/conf.d/*.conf;
- 因为nginx.conf里面有如下一行:
- 所以要在
-
理解
X-Forwarded-For- 是非rfc标准的,默认是没有的,需要强制添加
- 规则
- 每次经过proxy转发,都需要往这字段上记录
- 格式就是client1, proxy1, proxy2,