现在的位置: 首页 > 综合 > 正文

配置nginx代理服务器的几个注意事项

2017年12月06日 ⁄ 综合 ⁄ 共 1429字 ⁄ 字号 评论关闭

Nginx确实简单易用,性能又好,可以作为服务神器。自己搭一个Nginx服务器也很容易,本文将描述三个注意事项,希望大家不要再踩类似的坑。

(1) Nginx可以同时开启多个服务,无需每次必须一个服务,添加方式就是并列server来使用,举例如下:

server {
    listen       9528;
    server_name  10.64.72.99;

    location / {
  
         proxy_pass http://localhost:3001;
         proxy_http_version 1.1;

    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}
server {
    listen       9527;
    server_name  10.64.72.99;

    location / {
        root   /var/www/userserver;
        index  index.html;
    }
}

分析例子:

在nginx.conf中,配置文件可以加入多个server{}内容。上例中,首先配置了一个反向代理,代理nodejs启动的http://localhost:3001服务;然后又配置了一个静态页面的服务,静态资源放于/var/www/userserver/中。

在上线的nginx.conf中,往往把每个server{}内容单独写为一个文件,然后在nginx.conf中通过include导入你想要的服务,如:

http{
      *****  #若干行内容
      include /etc/nginx/default.conf;   #导入server
      include /etc/nginx/conf.d/*.conf;  #导入server
}

其中default.conf、conf.d/*.conf是若干个需要开启的服务。其中注意各个文件的权限设置等等。

(2)仍沿用上面的例子,server中的server_name使用了ip。该位置应当使用真正的域名,如,www.tryme.com 等等。但是在局域网中,若ip为内部使用ip,即伪ip,服务是不能被DNS解析的。所以在使用局域网路由内ip段时,即使在这里使用了www.tryme.com 服务域名,也不会被响应到。

故请先注册域名,再在nginx配置使用该域名,才能有效服务。

(3)权限问题。仍沿用上面的例子,在第二个server中root被注册为 /var/www/userserver/路径下。博主曾直接在工作路径下把工程路径配置在nginx中,测试时网页返回了403 forbidden。理由是nginx的启动于root权限,但是博主的/home/username/workplace/projectname/中间文件的每一级的路径均为username权限并且属于username用户组,即使只改变了projectname的文件用户所属,也仍然不能够被访问到。因此project再输出product后,应把product中的资源内容全部放入root权限且root用户组下的工作路径,如推荐/var/www/中。

另外一提,project资源放入/root/即root用户的工作目录下亦不会被访问,故请严格放到合适的路径下。

最后,再开启nginx服务时,记得保证 /var/www/userserver/下各资源的执行权限

$ chmod +x /var/www/userserver/*

(4) 最后,改变nginx配置后,(平滑)重启nginx。

【上篇】
【下篇】

抱歉!评论已关闭.