我有在PHP上运行的网站,但是我有在相同域上运行的NodeJS应用程序。
NodeJ的地址为/nodejs
,所有其他请求均在PHP下。
/home/php-project
/home/php-project/public
/home/nodejs-project
中。 /home/nodejs-project/public
是否可以提供其他静态文件夹?
这是我的NodeJs代码
app.use(express.static(__dirname + '/public'));
当前所有静态文件都来自php静态文件夹,而我无法访问nodejs静态文件。
这是nginx配置
server {
listen 80;
server_name www.example.com example.com;
return 301 https://www.example.com$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
#### Comodo SSL
ssl_certificate path/to;
ssl_certificate_key path/to;
return 301 https://www.example.com$request_uri;
}
server {
listen 443 ssl;
server_name www.example.com;
#### Comodo SSL
ssl_certificate path/to;
ssl_certificate_key path/to;
root /home/php-project/public;
index index.php;
location / {
autoindex off;
try_files $uri $uri/ /index.php?$query_string;
}
location /node-js {
proxy_pass http://localhost:5555;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
root /home/node-js;
}
} #### End server setup
答案 0 :(得分:0)
尝试一下:
location / {
root /home/php-project/public;
try_files $uri $uri/ /index.php?$query_string @fallback;
}
location @fallback {
root /home/nodejs-project/public;
try_files $uri $uri/ =404;
}