问题:多个项目,但用同一个域名,不同路径的url,指向不同的项目
解决:使用nginx进行端口代理。多个项目,运行多个端口
方法:
sudo vim /etc/nginx/conf/site-enable/default.conf
upstream frontends {
server 127.0.0.1:8001;
}
upstream webm{
server 127.0.0.1:8012;
}
upstream wenda {
server 127.0.0.1:8021;
}
server {
listen 8080;
server_name mantutu.com;
return 301 http://www.mantutu.com$request_uri;
}
server {
listen 8080;
server_name www.mantutu.com;
server_tokens off;
access_log /var/www/mandev/website/logs/access.log;
error_log /var/www/mandev/website/logs/error.log;
client_max_body_size 50m;
root /var/www/mandev/website/;
location /static/Cesium/ {
gzip_static always;
proxy_cache zt99;
}
location /static/ {
#root /var/www/mandev/website/;
if ($query_string) {
expires max;
}
proxy_cache zt99;
}
location /wb/static/ {
root /var/www/webdev/website/;
if ($query_string) {
expires max;
}
proxy_cache zt99;
}
location /wd/static/ {
root /var/www/wendadev/website/;
if ($query_string) {
expires max;
}
proxy_cache zt99;
}
# for letsencryt ssl
location /.well-known/ {
#root /var/www/mandev/website/;
}
location = /favicon.ico {
rewrite (.*) /static/img/favicon.ico;
}
location = /robots.txt {
rewrite (.*) /static/robots.txt;
}
location ~ .php$ {
root /var/www/payments;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location /wb/ {
proxy_pass_header Server;
proxy_set_header Host $http_host;
#proxy_redirect http:// $scheme://;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_pass http://webm;
#track_uploads proxied 30s;
}
location /wd/ {
proxy_pass_header Server;
proxy_set_header Host $http_host;
#proxy_redirect http:// $scheme://;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_pass http://wenda;
#track_uploads proxied 30s;
}
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
#proxy_redirect http:// $scheme://;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_pass http://frontends;
#track_uploads proxied 30s;
}
}