Nginx建站遇到的那些坑

需求:在一台linux服务器上能够同时启动多个web服务。主要是为了团队成员之间并行开发、测试,互不影响。

在安装完 Nginx 之后,默认配置文件在 /etc/nginx/sites-available/default 。
复制一份,命名为test.com,修改一下端口之类的参数。

server{
    **listen** **8087**;
    **server_name your_ip**;
    location / {
        # Pass the request to Gunicorn
        **proxy_pass http://127.0.0.1:your_web_app_port**;
        proxy_read_timeout 6000;
        proxy_set_header Host $host:**8087**;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

需要注意的是,上面有两个端口需要填写。一个是nginx监听端口,一个是你在代码里面写的服务端口。
改好这个文件之后,将test.com软连接到/etc/nginx/sites-enabled/
这时你会遇到第二个坑,不过如果你熟悉软连接创建的规则的话这个就不算坑了。
我在终端输入这条命令,启动了web服务,但是到浏览器并不能访问(当前目录是test.com所在目录):
ln -s test.com /etc/nginx/sites-enabled/

进入/etc/nginx/sites-enabled/, ll一下,发现我刚刚创建的软连接名字是红色的,而别的软连接是蓝色的。
我觉得有可能是因为我把软连接设为相对路径的原因,于是重新用绝对路径设置了一下软连接,开放了相应的端口。
重启web服务,到浏览器发现可以访问了。

在建站过程中,还会遇到防火墙阻止外部ip的问题,这就需要了解iptalbes这个命令了。

如果建好了Nginx网站服务,使用netstat也能看到你设的端口都属于监听状态。
如果你的端口都在监听状态,但是你却无法从浏览器访问你的web服务,那你就需要检查防火墙,或者你的代码是否有问题了。

猜你喜欢

转载自blog.csdn.net/njnujuly/article/details/80984031