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呢?
Anda dapat melihat dengan jelas masalah
Konfigurasi anda tidak melepasi pengesahan konfigurasi nginx sendiri, yang bermaksud terdapat masalah dengan konfigurasi nginx anda.
Kemudian saya melihat bahawa konfigurasi anda termasuk
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
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