前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LNMP架构应用实战——Nginx配置虚拟主机

LNMP架构应用实战——Nginx配置虚拟主机

作者头像
民工哥
发布2020-09-16 15:44:00
6110
发布2020-09-16 15:44:00
举报

LNMP架构应用实战——Nginx配置虚拟主机

前面介绍了nginx服务的安装与配置文件,今天介绍下它的另一种实用配置——“虚拟主机”,每个虚拟主机可以是一个独立的网站,可以具有独立的域名,同一台服务器上的不同的虚拟主机之间是独立的,用户访问不同虚拟主机如同访问不同的服务器一样,因此它不需要为一个单独的WEB站点提供单独一个nginx服务器和一个单独的nginx进程

1、nginx虚拟主机简单介绍

同apache服务一样,它也有三种不同的虚拟主机,基于域名的虚拟主机、基于IP的虚拟主机与基于端口的虚拟主机,至于其中的区别,请参考前面的 apache服务器的虚拟主机章节的相关介绍

2、nginx虚拟主机配置环境

系统环境

代码语言:javascript
复制
[root@centos6 scripts]# cat /etc/redhat-release 
CentOS release 6.5 (Final)
[root@centos6 scripts]# uname -r
2.6.32-431.el6.x86_64

nginx服务的版本

代码语言:javascript
复制
[root@centos6 scripts]# /application/nginx/sbin/nginx -v
nginx version: nginx/1.10.1

3、nginx虚拟主机配置准备

生产环境的规范很重要,这是运维的重点,因此,配置前创建站点目录

代码语言:javascript
复制
[root@centos6 ~]# mkdir /www/{www,bbs,blog} -p
[root@centos6 ~]# tree /www
/www
+-- bbs
+-- blog
+-- www
3 directories, 0 files

用于存放站点文件的目录

---------------

授权目录

--------------

代码语言:javascript
复制
[root@centos6 ~]# chown -R nginx.nginx /www

[root@centos6 ~]# ll /www/
total 12
drwxr-xr-x. 2 nginx nginx 4096 Dec  4 18:38 bbs
drwxr-xr-x. 2 nginx nginx 4096 Dec  4 18:38 blog
drwxr-xr-x. 2 nginx nginx 4096 Dec  4 18:38 www

------------------------------------------------------

接下来写点东东进去吧,用于后面的测试

-----------------------------------------------------

代码语言:javascript
复制
[root@centos6 ~]# echo "welcont to mingongge's web stie" >/www/www/index.html
[root@centos6 ~]# echo "welcont to mingongge's bbs stie" >/www/bbs/index.html   
[root@centos6 ~]# echo "welcont to mingongge's blog stie" >/www/blog/index.html  
[root@centos6 ~]# cat /www/www/index.html 
welcont to mingongge's web stie
[root@centos6 ~]# cat /www/bbs/index.html 
welcont to mingongge's bbs stie
[root@centos6 ~]# cat /www/blog/index.html 
welcont to mingongge's blog stie

生产环境检查也同样很重要,检查、检查 、检查,重要的事情说三遍!!!!

4、nginx虚拟主机配置

配置nginx 虚拟主机有两种方式,一种可以像前面apache服务这种,单独配置一个虚拟主机的配置文件,另一种也可以在主配置文件 nginx.conf中添加server标签,接下来介绍的是第一种方式,通过在配置文件里添加包含关系,单独配置虚拟主机的配置文件目录与配置文件,这样实际生产环境中比较常见,服务多了,也容易维护。

--------------------

配置主配置文件

-------------------

只需要在主配置文件nginx.conf最后一行加下如下配置

代码语言:javascript
复制
include  extra/vhosts/*.conf;

-----------------------------
创建虚拟主机配置目录
----------------------------
[root@centos6 conf]# pwd
/application/nginx/conf
[root@centos6 conf]# mkdir -p extra/vhosts
-----------------------------
创建虚拟主机配置文件
----------------------------
[root@centos6 conf]# cd extra/vhosts/
[root@centos6 vhosts]# mkdir bbs www blog
[root@centos6 vhosts]# cp ../../nginx.conf www/www.conf
[root@centos6 vhosts]# cp ../../nginx.conf bbs/bbs.conf
[root@centos6 vhosts]# cp ../../nginx.conf blog/blog.conf

通过主配置文件来修改,其实只需要里面的server标签的内容,同样也可以做一个模板文件出来,通过cp命令改名后,再修改其内容,效果都一样

-----------------------------

配置虚拟主机配置文件

----------------------------

WWW站点虚拟主机配置文件(比较简单)

代码语言:javascript
复制
server {
        listen       80;
        server_name  www.mingongge.com;
        location / {

            root   /www/www;
            index  index.html index.htm;
        }
        }  

基它的相同,只需要改下站点目录路径与域名信息

BBS站点虚拟主机配置文件

代码语言:javascript
复制
server {
        listen       80;
        server_name  bbs.mingongge.com;
        location / {
            root   /www/bbs;
            index  index.html index.htm;
        }
        } 

BLOG站点虚拟主机配置文件

代码语言:javascript
复制
server {
        listen       80;
        server_name  blog.mingongge.com;
        location / {
            root   /www/blog;
            index  index.html index.htm;
        }
        } 

5、重启服务与测试访问

代码语言:javascript
复制
[root@centos6 vhosts]# /application/nginx/sbin/nginx -t   
nginx: the configuration file /application/nginx-1.10.1/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.10.1/conf/nginx.conf test is successful
[root@centos6 vhosts]# /application/nginx/sbin/nginx -s reload
[root@centos6 vhosts]# lsof -i :80
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   2469  root    6u  IPv4  15462      0t0  TCP *:http (LISTEN)
nginx   2519 nginx    6u  IPv4  15462      0t0  TCP *:http (LISTEN)
[root@centos6 vhosts]# ps -ef|grep nginx
root 2469 1 0 18:47 ? 00:00:00 nginx: master process /application/nginx/sbin/nginx
nginx 2519 2469  0 19:14 ?00:00:00 nginx: worker process  

打开浏览器测试访问吧

本地DNS解析不要忘记了,否则无法通过域名来访问的

至此nginx 虚拟主机配置完成,基于两种方式的虚拟主机配置,请参考apache服务的基于IP与基于端口的虚拟主机配置章节

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档