nginx,127.0.0.1 可以访问,但是 127.0.0.1:8000 就被拒绝访问,为什么?

2018-03-13 11:50:31 +08:00
 sevenQu

我想部署在本地,系统是 Ubuntu16.04 ,所以 server_name 是 127.0.0.1

网页提示

Try:
Checking the connection
Checking the proxy and the firewall

这是我的 ngnix 的配置文件  

server {
listen 80;
server_name 127.0.0.1;

    root /home/www/blog;
    access_log /home/www/blog/logs/access.log;
    error_log /home/www/blog/logs/access.log;

    location / {  
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;  
        proxy_set_header Host $http_host;  
        proxy_redirect off;  
        if (!-f $request_filename) {  
            proxy_pass http://127.0.0.1:8000;  
            break;  
        }  
    }  
}
12808 次点击
所在节点    Python
39 条回复
xuuuu
2018-03-13 11:53:38 +08:00
试一下 127.0.0.1:80 就知道了
sevenQu
2018-03-13 11:54:23 +08:00
@xuuuu 是 Welcome to nginx!的页面
MonoLogueChi
2018-03-13 11:56:56 +08:00
你这个配置应该是代理 8000 端口吧,你在 8000 端口是上开了什么服务这应该不关 Nginx 的事吧
xuuuu
2018-03-13 12:00:48 +08:00
@sevenQu 观察地址栏变化撒...
Molita
2018-03-13 12:01:07 +08:00
你确认下你 8000 端口的服务起了没
sevenQu
2018-03-13 12:05:24 +08:00
@Molita 没有,我用的 flask,gunicorn,不知道该怎么办
wisej
2018-03-13 12:06:41 +08:00
@sevenQu gunicorn -b 127.0.0.1:8000
sevenQu
2018-03-13 12:12:49 +08:00
@wisej
我的启动文件名字是 manage,里面是使用了 flask_script 的 manager.run()启动,不是 app.run ,不知道这个有没有影响

我用的 gunicorn 配置文件,方便的话,帮我看看有什么不对的
[program:blog]

command=/home/blog/env/bin/gunicorn manage:manager -c /home/blog/gunicorn.conf

directory=/home/blog
user=www
autostart=true
autorestart=true
stdout_logfile=/home/blog/logs/gunicorn_supervisor.log
environment = MODE="PRODUCTION"
a1581076543
2018-03-13 12:16:00 +08:00
查看端口开启状态和文件夹访问权限
pkookp8
2018-03-13 12:16:02 +08:00
不懂 nginx,大概把 listen 的改为 8000,重新运行一下就行了
sevenQu
2018-03-13 12:18:33 +08:00
@pkookp8 我试试,我也很纳闷,为什么都是用的 8000,而那里 listen 的是 80
ybping
2018-03-13 12:19:36 +08:00
这个 nginx 也没看到配置 8000 端口,直接访问肯定拒绝了吧
Eleutherios
2018-03-13 12:20:18 +08:00
回报 “ sudo netstat -ntpl ” 的输出结果
sevenQu
2018-03-13 12:24:06 +08:00
@Eleutherios
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1895/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1574/nginx -g daemo
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1429/dnsmasq
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 5102/cupsd
tcp6 0 0 :::80 :::* LISTEN 1574/nginx -g daemo
tcp6 0 0 ::1:631 :::* LISTEN 5102/cupsd
这个查询厉害,真没有 8000
580a388da131
2018-03-13 12:27:23 +08:00
Flask 默认端口是 5000 啊
你有改成 8000 吗
sevenQu
2018-03-13 12:41:15 +08:00
@580a388da131
server = Server(host="127.0.0.1", port=8000)
manager.add_command("runserver", server)
这样修改了,试了一下还是不行,是不是不能使用 manageer.run?
sevenQu
2018-03-13 12:43:42 +08:00
@ybping 什么意思?在哪里修改?
aricxu
2018-03-13 12:47:00 +08:00
你这个配置的意思是开放 80 端口访问,对不存在的文件转发到 8000 端口。也就是在 nginx 后面需要有一个服务在跑,监听端口是 8000。
ybping
2018-03-13 13:03:50 +08:00
@sevenQu listen 8000 ;然后重启 nginx
sevenQu
2018-03-13 13:07:13 +08:00
@aricxu 启动 supervision 的时候,提示
niceblog: ERROR (spawn error)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/437553

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX