一.前提准备
1.已经安装好了的Centos7服务器
2.ip 为192.168.1.209 [本次的配置ip]
3.确定防火墙等已经关闭
二.nignx配置文件参数详解
要配置多台虚拟主机,就需要对配置文件先进行了解,所有以下为配置项详解
#定义nginx工作进程数 worker_processes 5; #错误日志 #error_log logs/error.log; #http定义代码主区域 http { include mime.types; default_type application/octet-stream; #定义nginx的访问日志功能 #nginx会有一个accses.log功能,查看用户访问的记录 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 logs/access.log main; sendfile on; keepalive_timeout 65; #开启gzip压缩传输 gzip on; #虚拟主机1 定义一个 斗鱼网站 server { #定义nginx的访问入口端口,访问地址是 192.168.11.37:80 listen 80; #定义网站的域名www.woshidouyu.tv #如果没有域名,就填写服务器的ip地址 192.168.11.37 server_name www.woshidouyu.tv; #nginx的url域名匹配 #只要请求来自于www.woshidouyu.tv/111111111 #只要请求来自于www.woshidouyu.tv/qweqwewqe #最低级的匹配,只要来自于www.woshidouyu.tv这个域名,都会走到这个location location / { #这个root参数,也是关键字,定义网页的根目录 #以nginx安装的目录为相对路径 /opt/nginx112/html #可以自由修改这个root定义的网页根目录 root html; #index参数定义网站的首页文件名,默认的文件名 index index.html index.htm; } #错误页面的优化(只要是遇到前面4系列的错误,就会直接跳转到相对目录下的40x.html页面) error_page 400 401 402 403 404 /40x.html; } }
三.配置多虚拟主机与实现
1.修改为的多个虚拟主机的配置文件
#user nobody; worker_processes 3; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include 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 logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { # 访问端口 listen 80; # 访问地址 server_name 192.168.1.209; #charset koi8-r; #access_log logs/host.access.log main; location / { # 网页存放目录 root /opt/www01/html/; index index.html index.htm; } error_page 400 401 402 403 404 /40x.html; location = /40x.html { root /opt/www01/error/; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server{ listen 8080; server_name 192.168.1.209; location / { root /opt/www02/; index douban.html douban.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
2.server解析
server { # 访问端口,访问的时候如果不加80默认访问80端口 listen 80; # 访问地址,为服务器ip地址 server_name 192.168.1.209; #charset koi8-r; #access_log logs/host.access.log main; location / { # 网页存放目录,就是访问ip+80,可以访问到的页面 root /opt/www01/html/; # 默认直接访问index.html,此目录下主页为index.html index index.html index.htm; } # 配置错误页面 error_page 400 401 402 403 404 /40x.html; location = /40x.html { root /opt/www01/error/; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
其他不改变的情况下,只要多配置几个server的配置
3.服务重启
# 关闭nginx
# systemctl stop nginx
# 开启nginx服务
# systemctl start nginx
# 查看nginx服务
ps aux|grep nginx
4.访问测试
当在3中确认nginx已经启动的时候,在同网段的另外一台电脑进行访问,如果是公网ip,那么久不需要在同网段的电脑访问
用的主页是豆瓣的主页代码
访问80端口
访问8080端口
访问错误页面用的是天猫的错误页面代码
访问不存在的网页hhhh.html跳到了错误页面成功