nginx 不再在 ec2 实例上运行

nginx 不再在 ec2 实例上运行

我承认运行了这个:

sudo update-rc.d nginx defaults

这似乎抹去了 nginx 的设置。sudo service nginx start执行时,诸如 等 Nginx 命令不再返回任何内容。但是,我的 django 应用程序的 nginx 文件仍然存在于:

sudo vim /etc/nginx/sites-enabled/myapp
sudo vim /etc/nginx/sites-available/myapp

我在 nginx 上运行了 GREP,得到: 图片

/etc/nginx/sites-available/myapp包含:

server {
        server_name ec2-x-x-x-x.compute-1.amazonaws.com;
        access_log /home/ubuntu/virtualenv/myapp/error/access.log;
        error_log /home/ubuntu/virtualenv/myapp/error/error.log warn;
        connection_pool_size 2048;

        root /home/ubuntu/virtualenv/myapp/homelaunch/;

        location /static/ {
            alias /home/ubuntu/virtualenv/myapp/homelaunch/static/;
            #alias /static/;
            #root /home/ubuntu/virtualenv/myapp/homelaunch/;
        }

        location / {
            proxy_pass http://127.0.0.1:8001;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            #proxy_set_header X-Forwarded-Host $server_name;
            #proxy_set_header X-Real-IP $remote_addr;
            add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
        }
    }

我有 gunicorn,django 1.5 也在运行

为什么我不能再使用 nginx 了?我该如何解决这个问题?根据上面的屏幕截图,所有文件仍然存在于其目录中,并且 nginx 作为服务运行,但没有任何命令起作用。有什么方法可以恢复吗?

答案1

你的 nginx 没有运行,你看到的是 grep 命令;而是运行:netstat -pltn | grep nginx

请运行以下命令(root或sudo):

  • which nginx-> 获取二进制文件的路径
  • nginx -t -c /etc/nginx/nginx.conf-> 测试 nginx 配置
  • nginx -c /etc/nginx/nginx.conf-> 使用给定的配置启动 nginx
  • netstat -pltn | grep nginx-> 查看 nginx 正在监听哪些端口

相关内容