Nginx虚拟主机配置实践(一)
  TEZNKK3IfmPf 2023年11月12日 140 0

Nginx虚拟主机配置实践(一)


一、虚拟主机的概念

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

二、虚拟主机的类型

  1. 基于域名的虚拟主机

  2. 基于端口的虚拟主机

  3. 基于IP的虚拟主机

    说明:实际生产中用的最多的就是基于域名的虚拟主机,其他两种了解即可。

三、基于一个域名虚拟主机的配置

  1. Nginx主配置文件结构

    Nginx虚拟主机配置实践(一)

    说明:Nginx的主配置文件是nginx.conf,nginx.conf.default与nginx.conf内容是一样的。

    执行上述命令之后,得到如下内容:

    Nginx虚拟主机配置实践(一)Nginx虚拟主机配置实践(一)

    [root@nginx-oldboy html]# cat ./wtf/index.html

    第一次测试

    说明:上述命令的作用是创建一个html/wtf站点目录,对应于主机配置文件里root根目录的html/wtf设置(root html/wtf;)。然后生成一个默认的首页文件index.html,文件内容是“第一次测试”。

  2. nginx语法检查并重新加载

    [root@nginx-oldboy html]# nginx -t

    Nginx虚拟主机配置实践(一)Nginx虚拟主机配置实践(一)Nginx虚拟主机配置实践(一)

    查看一下:

    [root@nginx-oldboy html]# tail -n1 /etc/hosts

    192.168.100.116  www.afeilinux.com

    在windows端也要修改hosts配置文件。

  3. 测试域名站点

    Nginx虚拟主机配置实践(一)

  4. 增加新域名对应的配置

    上面已经有了一个www.afeilinux.com虚拟主机的配置,下面再增加一个www.afeilinux.org虚拟主机的配置。增加的主机一定要在nginx.conf的http{}区块内,最好放在www.afeilinux.com虚拟主机配置的下面。

    server {

            listen       80;

            server_name  www.afeilinux.org;

            location / {

                root   html/org;

                index  index.html index.htm;

            }

            error_page   500 502 503 504  /50x.html;

            location = /50x.html {

                root   html;

            }

        }

    Nginx虚拟主机配置实践(一)

    [root@nginx-oldboy nginx1.10]# cat !$

    cat ./html/org/index.html

    第二次测试

  5. 检查下站点目录结构

    [root@nginx-oldboy nginx1.10]# tree

    -bash: tree: command not found

    解决方法:

    [root@nginx-oldboy nginx1.10]# yum install -y tree

    [root@nginx-oldboy nginx1.10]# tree html/

    Nginx虚拟主机配置实践(一)Nginx虚拟主机配置实践(一)五、规范和优化nginx配置文件

    1. 将虚拟主机配置成单独的配置文件与nginx主配置文件nginx.conf分开

      说明:

      (1)适用于虚拟主机数量不多的情况;

      (2)主配置文件包含的所有虚拟主机的子配置文件会统一放在extra目录中;

      (3)虚拟主机配置单独的配置文件,使用参数include,它可以放在nginx主配置文件中任何位置。

      [root@nginx-oldboy conf]# mkdir extra

      [root@nginx-oldboy conf]# sed -n '10,21p' nginx.conf

      Nginx虚拟主机配置实践(一)

      [root@nginx-oldboy conf]# cat extra/wtf.conf

      [root@nginx-oldboy conf]# sed -n '22,33p' nginx.conf > extra/org.conf

      [root@nginx-oldboy conf]# cat extra/org.conf

    2. 更改主配置文件nginx.conf

      删除主配置文件nginx.conf中所有虚拟主机的配置,包含server{}标签。

      [root@nginx-oldboy conf]# sed -i '10,33d' nginx.conf

      [root@nginx-oldboy conf]# cat nginx.conf

      Nginx虚拟主机配置实践(一)

      Nginx虚拟主机配置实践(一)Nginx虚拟主机配置实践(一)_nginx虚拟主机配置实践_14

      这样虚拟主机配置文件就与nginx主配置文件分离开了!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   28   0   0 nginxpasswd
  TEZNKK3IfmPf   2024年04月26日   39   0   0 linuxnginxcentos
  TEZNKK3IfmPf   2023年11月14日   49   0   0 qt配置
  TEZNKK3IfmPf   2024年05月31日   33   0   0 nginxpasswd
  TEZNKK3IfmPf   2024年04月19日   28   0   0 nginxTCP
  TEZNKK3IfmPf   2023年11月15日   28   0   0 nginx
  TEZNKK3IfmPf   2023年11月15日   35   0   0 nginxphp
  TEZNKK3IfmPf   2023年11月15日   32   0   0 nginxphp
TEZNKK3IfmPf