牛刀小试:Nginx网站配置实操

Nginx网站配置实操

注意:后续章节均以yum官方源安装的nginx主配置文件为例详解。

h5小游戏网站部署


# 在/nginx/conf.d下新增配置文件game.conf
​
cd /etc/nginx/conf.d
ll
vim game.conf
  
server {
    listen 80;
    server_name game.driveryang.com;   # 服务的IP或域名
 
    location / {                # 控制网站访问路径
        root /code/h5_games;    # 这个目录要能找到下面这个index.html才行     
        index index.html;       # 默认网站页面的文件
    }
}
​
# 放置游戏源代码文件至nginx配置文件指定的目录
mkdir /code && cd /code
wget http://test.driverzeng.com/Nginx_Code/h5_games.zip
​
# 解压
unzip h5_games.zip 
​
解压后:
  0 ✓ 10:53:58 root@web01,172.16.1.7:/code # ll
total 18856
drwxr-xr-x 6 root root      108 May  3  2019 h5_games
-rw-r--r-- 1 root root 19304923 May  3  2019 h5_games.zip
drwxrwxr-x 3 root root       40 May  3  2019 __MACOSX
​
# 检查配置语法是否存在错误并重载nginx (记得每次配置完文件都要检查并重载)
nginx -t
systemctl reload nginx  
​
# 设置windows本地DNS解析文件(只要是域名访问,就要在客户端做解析)
win+R输入drivers,在里面找到hosts,写进去:
    10.0.0.7        game.driveryang.com
​
# 访问验证

小练习:
 

# 实验1:实现基于不同端口访问站点(虚拟主机) 
  0 ✓ 11:38:50 root@web01,172.16.1.7:/etc/nginx/conf.d # vim game.conf
server {
    listen 8080;             # 修改配置文件端口号,其他不动
    server_name game.driveryang.com;
​
    location / {
        root /code/h5_games;
        index index.html;
        }
​
发现上不去了,要输入8080端口才行
​
# 实验2 修改站点目录及站点内容
11:50:31 root@web01,172.16.1.7:/code # vim index.html
dingding dsb
​
  0 ✓ 12:05:07 root@web01,172.16.1.7:/etc/nginx/conf.d # vim game.conf 
server {
    listen 8080;
    server_name 10.0.0.7;
​
    location / {
        root /code;
        index index.html;
        }

Nginx虚拟主机

概念

所谓虚拟主机,在web服务里就是一个独立的网站站点,这个站点既可以对应独立的域名(或者是IP 、端口),具有独立的程序及资源目录,又可以独立地对外提供服务供用户访问。

这个独立的站点在配置里是由一定格式的标签段标记,对于 Apache软件来说,虚拟主机的标签段通常被包合在 <VirtualHost></Virtual Host> 内,而 Nginx则使用 Server{}标签来标示一个虚拟主机,一个web服务里可以有多个虚拟主机标签,即同时可以支持多个站点

通常在企业中可能会有很多业务系统,用虚拟主机方式配置多套业务系统,就不需要用多台服务器配置Nginx。

Nginx配置虚拟主机有如下三种方式

1、基于多域名方式

即通过不同的域名区分不同的虚拟主机(站点),应用最广。

比如:在server后面再加对应域名配置,这就是基于多域名:

server {
    listen 80;
    server_name game.tingmeimei.com;
​
    location / {
        root /code/h5_games;
        index index.html;
    }
}
server {
    listen 80;
    server_name game.yjh.com;
​
    location / {
        root /code/h5_games;
        index index.html;
    }
}
​
​
注意对应Win下hosts里面也要改
10.0.0.7 game.tingmeimei.com game.yjh.com

或者分开配置
 

1.创建对应的web站点目录以及程序代码
[root@web01 ~]# mkdir /soft/code/{server1,server2}
[root@web01 ~]# echo "server1" > /code/server1/index.html
[root@web01 ~]# echo "server2" > /code/server2/index.html
​
2.配置不同域名的虚拟主机
[root@web02 ~]# cat /etc/nginx/conf.d/server1.conf
server {
    listen       80;
    server_name  1.oldboyedu.com;
    root /code/server1;
    index index.html;
    ...
}
[root@web01 ~]# cat /etc/nginx/conf.d/server2.conf
server {
    ...
    listen       80;
    server_name  2.oldboyedu.com;
    root /code/server2;
    index index.html;
}
 

2、基于端口

即通过不同的端口区分不同的虚拟主机,主要用于公司内部网站,比如OA、网站程序后台。偶尔会用到。

配置文件里面仅端口改一下即可,其他不动都行,只要端口号不和已有端口服务冲突即可。

访问时加上对应端口,比如www.xxxxx.com:8080

例如:
 

# 仅修改listen监听端口即可, 但不能和系统端口出现冲突
 
[root@web01 ~]# cat /etc/nginx/conf.d/port1.conf
server {
    ...
    listen 80;
    ...
}
 
[root@web01 ~]# cat /etc/nginx/conf.d/port2.conf
server {
    ...
    listen 81;
    ...
}
 
[root@web01 ~]# cat /etc/nginx/conf.d/port3.conf
server {
    ...
    listen 82;
    ...
}
​
 

3、基于IP
 

即通过不同ip区分不同的虚拟主机,此类对应企业应用较少。

1° 多网卡多IP

​
server {
    ...
    listen 10.0.0.10:80;
    ...
}
 
server {
    ...
    listen 10.0.0.11:80;
    ...
}
​
2°单网卡多IP

既然要基于多IP,那就要先增加虚拟IP地址,例如

# 用ip 命令添加虚拟IP
ip addr add 10.0.0.99/24 dev eth0 label eth0:99
ip addr add 10.0.0.100/24 dev eth0 label eth0:99
​
# 查看
ip a|grep 10.0.0.99
  
# 删除
ip addr del 10.0.0.99/24 dev eth0
​
# 虚拟主机配置方案
[root@web01 ~]# cat /etc/nginx/conf.d/addr1.conf
server {
    ...
    listen 10.0.0.99:80;
    ...
}
 
[root@web01 ~]# cat /etc/nginx/conf.d/addr2.conf
server {
    ...
    listen 10.0.0.100:80;
    ...
}


仅仅基于IP:

server_name 改成IP即可
​


三种虚拟主机类型既可以独立使用,也可以混合用,重点掌握基于域名的。

比如:基于IP和端口混合。根据配置里的IP和端口结合访问即可

总结:Nginx虚拟主机配置步骤

Nginx 配置虚拟主机步骤如下(适合各类虚拟主机类型): 1)增加一个完整的 server 层。注意,要放在 HTTP 的结束大括号前,也就是要将 server 层放入http层。

2)更改server_name 及对应网页的root根目录,如果需要其他参数,可以增加或修政 3)创建server_name 域名对应网页的根目录,并且建立测试文件,如果没有index首页,访问会报错 4)检查 Nginx配置文件语法,reload Nginx 服务,快速检查启动结果。 5)在客户端对 server_name 处配置的域名做host解析或 DNS 配置,并检查 (比如ping域名看返回的IP 对不对)。 6)浏览器访问(linux用curl)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值