1.什么是【基于域名】的虚拟主机?
一个虚拟主机在Nginx里就是一个独立网站站点,这个站点【对应独立的域名】
(IP或端口往往都是相同的),具有【独立的程序及资源目录】,可以独立地对外提
供服务供用户访问。
这个独立站点虚拟主机在Nginx里是使用一个
server{}标签来标示,一个Nginx服务里可以配置多个虚拟主机,
同时可以支持多个独立网站站点。下面配置基于域名的虚拟主机学习站点,
学习的程序代码就是公司研发发好的程序代码。
2.一个虚拟主机关键配置说明
server { ##一个虚拟主机,一个网站站点的起始标签。
listen 80; ##设置网站站点的端口,默认是80.
server_name localhost; ##网站的域名。
root /usr/share/nginx/html; ##站点目录。
index index.html index.htm; ##首页文件,不同首页按顺序查找。
} ##server结束标签。
#注意:在nginx的/etc/nginx/conf.d/配置子配置文件等同于核心配置nginx.conf里配置,分开配置好维护易于管理。
nginx主配置文件:
[root@yunshang ~]# egrep -v "\#|^$" /etc/nginx/nginx.conf|cat -n
1 user nginx; ##用户
2 worker_processes auto; ##干活的进程的数量
3 error_log /var/log/nginx/error.log; ###错误日志
4 pid /run/nginx.pid; ##进程号文件
5 include /usr/share/nginx/modules/*.conf;
6 events {
7 worker_connections 1024; ##每个worker同时处理的连接数
8 }
9 http {
10 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
11 '$status $body_bytes_sent "$http_referer" '
12 '"$http_user_agent" "$http_x_forwarded_for"';
13 access_log /var/log/nginx/access.log main;
14 sendfile on;
15 tcp_nopush on;
16 tcp_nodelay on;
17 keepalive_timeout 65;
18 types_hash_max_size 4096;
19 include /etc/nginx/mime.types;
20 default_type application/octet-stream;
21 include /etc/nginx/conf.d/*.conf; ##包含子目录
22 server {
23 listen 80;
24 listen [::]:80;
25 server_name _;
26 root /usr/share/nginx/html;
27 include /etc/nginx/default.d/*.conf;
28 error_page 404 /404.html;
29 location = /404.html {
30 }
31 error_page 500 502 503 504 /50x.html;
32 location = /50x.html {
33 }
34 }
35 }