美文网首页
nginx之server模块 发布静态网站 多网站部署

nginx之server模块 发布静态网站 多网站部署

作者: 在路上phper | 来源:发表于2019-06-12 23:42 被阅读0次

    首先我们看下nginx基本组成

    image.png
    基本运行结构如上面图中所示 nginx启动时有个master进程(主进程)来生成(worker
    )工作进程 客户端请求各个工作进程(worker进程会进程处理)
    接下来看下nginx主要配置文件(nginx里面配置文件可具备编程性)
    image.png
    image.png
    接下来我们学习下http模块下面的子模块server模块(可以用来发布虚拟主机 也就是网站)
    首先修改下上节课从docker中拷贝出来的默认nginx配置文件
    接下来我们修改配置文件 配置一个简单的静态网站
    image.png
    以上是一个基本的server模块 也就是一个基本的网站
    location节点表示对请求路径做的配置 / 表示匹配所有(支持正则) 还有优先级区别
    location节点里面的 root指令 表示的是 请求访问静态资源网站根目录的位置
    index 表示的是默认首页面(可以写多个)
    接下来我们在上节课myngx目录下的nginx.conf配置文件中加入 server配置节
    如下
    image.png
    保存 退出
    由于我们使用的是docker容器 我们需要把相关的配置文件映射到容器里面对应的配置文件
    image.png
    首先在物理机上(即启动的vmvare上)的myngx文件夹下创建个新的html文件夹
    在终端中输入如下
    image.png
    然后进入html目录
    执行echo "<b>index</b>" > index.html
    这句表示在index.html中写入内容
    以上就是静态文件的内容
    有了这些内容后就可以把物理机和容器进行映射
    首先我们删除上节课运行的容器
    image.png
    接下来进行文件夹映射(物理机文件夹和文件映射到容器中文件夹和文件)
    docker run --name ngx -d --rm
    -p 80:80
    -p 8081:8081
    -v /home/bhc/myngx/html:/tmp/html
    -v /home/bhc/myngx/nginx.conf:/etc/nginx/nginx.conf
    nginx:1.17-alpine
    这里的第一行启动容器并进行目录映射加入了 --rm 是为了删除容器方便
    以后想要删除容器 直接docker stop ngx就可以了
    前面说过 --name指定容器名字 -p端口映射 -v目录映射 冒号前面是物理机上目录 冒号后面是容器里面的目录
    image.png
    执行命令如下
    image.png
    可以看见容器启动出来了 并且映射了两个端口 80 和8081
    现在只有80可以起作用 因为配置文件中只配置了80
    下面可以直接访问网站
    直接浏览器输入物理机的ip即可访问(因为做映射了)
    image.png
    可以看见输出了我们在index.html文件中的内容了
    同理加上后缀index.html也可以访问
    image.png
    以上就是简单的静态网站发布
    那么如何发布多网站呢
    image.png
    就是在nginx配置文件中在加入一个server配置
    物理机上myngx目录下的nginx.conf文件添加如下
    image.png
    重启nginx
    docker restart ngx(重启容器名)
    image.png
    接下来在html文件夹下创建abc.html 里面输入<b>abc</b>
    用来作为8081端口网站的访问首页面
    最后看下运行结果
    image.png
    image.png

    相关文章

      网友评论

          本文标题:nginx之server模块 发布静态网站 多网站部署

          本文链接:https://www.haomeiwen.com/subject/qearfctx.html