一.前提准备
1.已经安装好了的Centos7服务器
2.ip 为192.168.1.209 [本次的配置ip]
3.确定防火墙等已经关闭
二.nignx配置文件参数详解
要配置多台虚拟主机,就需要对配置文件先进行了解,所有以下为配置项详解
#定义nginx工作进程数
worker_processes ;
#错误日志
#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 ;
#开启gzip压缩传输
gzip on;
#虚拟主机1 定义一个 斗鱼网站
server {
#定义nginx的访问入口端口,访问地址是 192.168.11.37:
listen ;
#定义网站的域名www.woshidouyu.tv
#如果没有域名,就填写服务器的ip地址 192.168.11.37
server_name www.woshidouyu.tv;
#nginx的url域名匹配
#只要请求来自于www.woshidouyu.tv/
#只要请求来自于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 /40x.html;
}
}
三.配置多虚拟主机与实现
1.修改为的多个虚拟主机的配置文件
#user nobody;
worker_processes ; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections ;
} 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 ;
keepalive_timeout ; #gzip on; server {
# 访问端口
listen ;
# 访问地址
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 /40x.html;
location = /40x.html {
root /opt/www01/error/;
}
# redirect server error pages to the static page /50x.html
#
error_page /50x.html;
location = /50x.html {
root html;
} }
server{
listen ;
server_name 192.168.1.209;
location / {
root /opt/www02/;
index douban.html douban.htm;
} error_page /50x.html;
location = /50x.html {
root html;
} } }
2.server解析
server {
# 访问端口,访问的时候如果不加80默认访问80端口
listen ;
# 访问地址,为服务器ip地址
server_name 192.168.1.209; #charset koi8-r; #access_log logs/host.access.log main; location / {
# 网页存放目录,就是访问ip+,可以访问到的页面
root /opt/www01/html/;
# 默认直接访问index.html,此目录下主页为index.html
index index.html index.htm;
}
# 配置错误页面
error_page /40x.html;
location = /40x.html {
root /opt/www01/error/;
}
# redirect server error pages to the static page /50x.html
#
error_page /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跳到了错误页面成功