Configure multiple domain names for one site
server {
listen 80;
server_name ops-coffee.cn b.ops-coffee.cn;
}
server_name can be followed by multiple domain names, separated by spaces
Configure multiple sites for one service
server {
listen 80;
server_name a.ops-coffee.cn;
location / {
root /home/project/pa;
index index.html;
}
}
server {
listen 80;
server_name ops-coffee.cn b.ops-coffee.cn;
location / {
root /home/project/pb;
index index.html;
}
}
server {
listen 80;
server_name c.ops-coffee.cn;
location / {
root /home/project/pc;
index index.html;
}
}
Based on the implementation of Nginx virtual host configuration, Nginx has three types of virtual hosts
IP-based virtual host: You need to have multiple addresses on your server, and each site corresponds to a different address. This method is less used
Port-based virtual host: Each site corresponds to a different port. When visiting, use ip:port to access, and you can modify the port of listen to use
Domain name-based virtual hosting: The most widely used method. In the above example, domain-based virtual hosting is used. The prerequisite is that you have multiple domain names corresponding to each site, and server_name can fill in different domain names.
Nginx configuration upstream reverse proxy
http {
...
upstream tomcats {
server 192.168.106.176 weight=1;
server 192.168.106.177 weight=1;
}
server {
location /ops-coffee/ {
proxy_pass http://tomcats;
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-Proto $scheme;
}
}
}