nginx web服务器在我的ubuutu服务器上运行。我在/var/www
下有多个网站。让它保持简单(myipaddres/web1 & myipaddres/web2)
/var/www/web1
/var/www/web2
目前我的nginx confg(单个文件)看起来像(root points /var/www)
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name localhost;
root /var/www;
index index.php index.html index.htm;
}
但我希望为每个子域(myipaddres/web1 & myipaddres/web2)
提供唯一的nginx配置,例如
/etc/nginx/sites-available/web1 & /etc/nginx/sites-available/web2
我正在尝试这样的事情,但是nginx无法重新加载。
/etc/nginx/sites-available/web1
看起来像这样
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name localhost;
root /var/www/web1;
index index.php index.html index.htm;
}
/etc/nginx/sites-available/web2
看起来像这样
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name localhost;
root /var/www/web2;
index index.php index.html index.htm;
}
答案 0 :(得分:0)
每个服务器必须具有唯一的对server_name
和listen $port
。
所以你有两个变种:
server_name
更改为localhost2
,并将127.0.0.1 localhost
添加到/ etc / hosts。 (不良变体)location
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name localhost;
index index.php index.html index.htm;
location /web1 {
root /var/www;
}
location /web2 {
root /var/www;
}
}
或者如果你想要为每个应用程序提供不同的文件:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name localhost;
index index.php index.html index.htm;
include locations/app*.conf;
}
和两个文件:/etc/nginx/locations/app1.conf
和/etc/nginx/locations/app2.conf
带文字
location /web1 {
root /var/www;
}
和
location /web2 {
root /var/www;
}