Nginx

nginx 不再在 ec2 實例上工作

  • September 20, 2013

我承認我跑了這個:

sudo update-rc.d nginx defaults

這似乎消除了 nginx 的設置。Nginx 命令(如sudo service nginx start等)在執行時不再返回任何內容。但是,我的 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 根據上面的螢幕截圖作為服務執行,但沒有命令在工作。有什麼辦法可以恢復嗎?

你的 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 正在監聽哪些埠

引用自:https://serverfault.com/questions/540323