本来的单机配置是这样的,访问正常:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name my-domain.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
client_max_body_size 200M;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
location /static/ {
root /usr/local/nginx/project/;
}
}
}
为了增加负载均衡,然后我把上面的单机配置改成:upstream backend {...},测一下就提示错误 nginx: [emerg] unknown directive "127.0.0.1:8000"
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream backend {
127.0.0.1:8000;
}
server {
listen 80;
server_name my-domain.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
client_max_body_size 200M;
location / {
proxy_pass http://backend;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
location /static/ {
root /usr/local/nginx/project/;
}
}
}
服务器结构是 nginx + gunicorn + flask
1
akira 2018-06-06 14:23:22 +08:00 1
|
2
Zzdex 2018-06-06 14:25:04 +08:00 via iPhone 1
server 127.0.0.1 试试
|
3
d0m2o08 2018-06-06 14:28:57 +08:00 1
强迫症受不了不用 include vhost/*.conf;
另外楼上说的对 upstream 地址需要用 server 开头 |
5
kslr 2018-06-06 14:38:11 +08:00 via Android
如果只有一个配置用什么 include
|
6
miniyao OP @akira
@Zzdex server 关键字是漏打了 @d0m2o08 @LeungJZ @kslr include /usr/local/nginx/conf/*.conf; 加不加没区别呀,我手动执行了一下: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 没有用,又报 nginx: [emerg] "worker_processes" directive is not allowed here in /usr/local/nginx/conf/nginx.conf:3 把 worker_processes 1; 改成 worker_processes auto; 还是同样的错误 比较奇怪。单机跑的配置很正常,调整了一个 upstream 然后,各种不通 |
7
kslr 2018-06-06 15:02:37 +08:00 1
你是不是把 worker_processes 加到 http 里面了
|