django - nginx+uwsgi启动提示unknown directive "location /"(新手)
迷茫
迷茫 2017-04-24 09:09:45
0
1
1235

p.s: 环境是ubuntu16.04,项目的目录是/home/alps/mysite

# uwsgi启动正常
uwsgi -i uwsgi.ini

/home/alps/mysite/uwsgi.ini配置文件如下

[uwsgi]
socket = 127.0.0.1:8001
chdir=/home/alps/mysite/
wsgi-file = mysite/wsgi.py

processes = 2
threads = 4

chmod-socket = 664

/etc/nginx/sites-enabled/mysite.conf的配置文件如下

server{
    location / {
        listen 80;
        uwsgi_pass 127.0.0.1:8001 
        include     /etc/nginx/uwsgi_params;
    }
}

下面是报错信息

$ sudo service nginx configtest
 * Testing nginx configuration    [fail] 

$ systemctl restart nginx.service
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

$ systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2016-09-29 19:52:25 CST; 11s ago
  Process: 3450 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)

Starting A high performance web server and a reverse proxy server...
nginx: [emerg] unknown directive "location /" in /etc/nginx/sites-enabled/mysite.conf:2
nginx: configuration file /etc/nginx/nginx.conf test failed
nginx.service: Control process exited, code=exited status=1
Failed to start A high performance web server and a reverse proxy server.
nginx.service: Unit entered failed state.
nginx.service: Failed with result 'exit-code'.

请问"location /"为什么是unknown directive呢?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(1)
伊谢尔伦

Anda dapat melihat dengan jelas masalah

9月 27 22:41:01 yue nginx[4206]: nginx: [emerg] unknown directive "server " in /etc/nginx/sites-enabled/mysite.conf:1
9月 27 22:41:01 yue nginx[4206]: nginx: configuration file /etc/nginx/nginx.conf test failed

Konfigurasi anda tidak melepasi pengesahan konfigurasi nginx sendiri, yang bermaksud terdapat masalah dengan konfigurasi nginx anda.
Kemudian saya melihat bahawa konfigurasi anda termasuk

include /etc/nginx/sites-enabled/*;

Saya boleh mengesahkan bahawa ralat adalah kerana konfigurasi nginx anda/etc/nginx/sites-enabled/mysite.conf
Saya rasa anda perlu menyemak semula konfigurasi anda. Jangan tergesa-gesa menggunakan penyelia konfigurasi pemajuan adalah Jika terdapat masalah permulaan, ia tiada kaitan dengan penyelia.
Saya cadangkan anda mengikuti idea ini,

Pertama ubah suai konfigurasi dengan betul Saya melihat bahawa conf nginx anda dikonfigurasikan untuk memajukan unix:///tmp/mysite.sock anda tidak menentukan soket untuk mendengar port tertentu Cuba tetapkan parameter soket uwsgi untuk mendengar pada port tertentu, seperti

socket = 127.0.0.1:8001

Kemudian tukarkan pemajuan uwsgi_pass unix nginx:///tmp/mysite.sock; kepada
uwsgi_pass 127.0.0.1:8001

Kemudian pergi ke uwsgi -i uwsgi.ini dan lihat jika pemajuan boleh datang

Jika ini berjaya, ralat yang anda laporkan sekarang harus diselesaikan. Tengok belakang

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan