nginx 一端口多网站代理
Posted 长虹剑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 一端口多网站代理相关的知识,希望对你有一定的参考价值。
起因:服务器只留了一个端口可以访问,想搭建多个网站
参考资料
服务器上部署多个Web应用
nginx配置多个域名使用同一个端口 # 该方法没有仔细尝试,不知道适不适合我的情况
安装配置
conda install -c anaconda nginx
nginx -t
# anaconda3/etc/nginx/nginx.conf
#apt-get install psmisc
killall nginx
nginx
# 或者使用 service nginx xxx
killall nginx && nginx
配置文件
user root;
worker_processes 1;
error_log /home/xxx/tmp/nginxlog/logs/error.log;
error_log /home/xxx/tmp/nginxlog/logs/notice.log notice;
error_log /home/xxx/tmp/nginxlog/logs/info.log info;
pid /home/xxx/tmp/nginxlog/logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
upstream webrb{
#server 0.0.0.0:4567;
server 127.0.0.1:4567;
}
upstream webpy{
server 127.0.0.1:8089;
}
server {
listen 8888;
server_name localhost;
server_name_in_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#charset koi8-r;
charset utf-8;
proxy_connect_timeout 180000;
proxy_send_timeout 180000;
proxy_read_timeout 180000;
#使用location对不同请求做相应处理
location /webrb {
proxy_pass http://webrb/;
#proxy_pass http://127.0.0.1:4567;
}
location /webrb2 {
proxy_pass http://webrb/;
#proxy_pass http://127.0.0.1:4567;
}
location /webpy {
proxy_pass http://webpy/;
#proxy_pass http://127.0.0.1:8089;
}
}
}
api
proxy_set_header: 给上游服务器发的
add_header: 给浏览器看的
rewrite 修改请求url,然后决定干什么
具体 last: 再次location; break: 本次直接往下走; redirect, permanent 重定向.
但是后两者会导致响应的location改变,最终自动加上了端口
以上是关于nginx 一端口多网站代理的主要内容,如果未能解决你的问题,请参考以下文章