This article mainly introduces the method of configuring multi-site vhost with Nginx. Friends who need it can refer to it. I hope it can help everyone.
Suppose you want to use different domain names to access different directories in Linux Nginx. In this case, you need to configure multiple vhosts. The specific configuration is as follows. Assume that the website root directory is set to /var/www/
1. Create two new directories under /var/www/
/var/www/ushark.net /var/www/ushark.wang
2. Edit /etc/nginx/nginx.conf
http { include /etc/nginx/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 /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; #主要是加入此行,如有则忽略 }
3. In /etc/nginx/conf Create two new conf files under .d,
/etc/nginx/conf.d/ushark.net.conf /etc/nginx/conf.d/ushark.wang.conf
4. Copy the following configuration information into the two files, just modify the red part!!! The server_name is consistent with root, that is, the directory and domain name correspond one to one!! !
server { listen 80; server_name www.ushark.net; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; root /var/www/ushark.net/; if (!-e $request_filename){ # rewrite可根据网站需要增删 rewrite ^/(.*) /index.php last; } location / { index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/ushark.net/; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
5. Restart Nginx
systemctl restart nginx
6. Edit /etc/hosts !!! Core steps!!!
[root@bogon ~]# vi 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 127.0.0.1 www.ushark.net 127.0.0.1 www.ushark.wang
Related recommendations:
nginx configure nodejs proxy server (mac environment)
NGINX configure SSL two-way authentication
The above is the detailed content of Nginx configuration multi-site vhost instance sharing. For more information, please follow other related articles on the PHP Chinese website!