最近要把项目重新部署上线,以前看学长他们的nginx配置文件都不是默认的配置文件地址,而是放在了其他地方。他们说如果好几个项目都用一个配置文件,后期会不好整理和维护。因此他们要一个项目一个配置文件。这样会分的很清,不容易出错。于是我就到网上找了一些博客,总结出了这篇博客,慢慢干货,还有遇到问题的解决办法。
我的Nginx解压到了 /usr/local/ 路径下,cd 进去会看到
这里面 conf 下存放的是nginx 所有的配置文件,sbin 里是我们启动nginx时的可执行文件。我们 cd 进conf 目录下
nginx.conf 文件是nginx的默认配置文件,我们现在要在另一个地方创建一个目录,然后引入进来启动nginx服务即可。
我的自定义配置文件目录在 /etc/nginx/conf.d/ 下,建了一个.conf 文件里面写我们需要配置的内容
只需要配置这些内容即可,然后在nginx默认配置文件里加上一句话即可。
在这里将我们自定义配置目录加入进来,*是全匹配的意思。
含义:
include /etc/nginx/conf.d/*.conf
这行配置是在主配置文件在http标签下的,意味着在/etc/nginx/conf.d/*.conf里的配置文件都会被加载到主配置文件的http标签里去。
以下是错误情况及解决:
错误一:
nginx: [emerg] "worker_processes" directive is not allowed here in /etc/nginx/conf.d/interviewpush.conf:1
解决:
查看nginx默认配置文件和自定义配置文件,worker_processes 只能出现一次。这时候删除自定义配置文件中worker_processes属性即可。
错误二:
nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
解决:
查看nginx默认配置文件和自定义配置文件,同一个端口配置只能出现一次。如果自定义好了配置文件,那就需要将默认配置文件中关于该端口号的server注释掉。