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

本文涉及的产品
.cn 域名,1个 12个月
简介:

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


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


1、nginx虚拟主机简单介绍

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




2、nginx虚拟主机配置环境

系统环境

[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服务的版本

[root@centos6 scripts]# /application/nginx/sbin/nginx -v

nginx version: nginx/1.10.1




3、nginx虚拟主机配置准备

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

[root@centos6 ~]# mkdir /www/{www,bbs,blog} -p

[root@centos6 ~]# tree /www

/www

+-- bbs

+-- blog

+-- www

3 directories, 0 files

用于存放站点文件的目录

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

授权目录

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

[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

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

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

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

[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最后一行加下如下配置

     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站点虚拟主机配置文件(比较简单)

server {

        listen       80;

        server_name  www.mingongge.com;

        location / {

            root   /www/www;

            index  index.html index.htm;

        }

        }           

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


站点虚拟主机配置文件

server {

        listen       80;

        server_name  bbs.mingongge.com;

        location / {

            root   /www/bbs;

            index  index.html index.htm;

        }

        } 


站点虚拟主机配置文件

server {

        listen       80;

        server_name  blog.mingongge.com;

        location / {

            root   /www/blog;

            index  index.html index.htm;

        }

        } 


5、重启服务与测试访问

[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解析不要忘记了,否则无法通过域名来访问的


wKiom1hH9zyBpJTEAACu4TAUbVs090.jpg-wh_50

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

更多内容敬请关注,民工哥个人公众号——友侃有笑

或扫描下方二维码关注

wKioL1hH97HwZzyiAABspnf9dSI792.jpg-wh_50



本文转自 民工哥 51CTO博客,原文链接:http://blog.51cto.com/mingongge/1880456

相关文章
|
8天前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
43 4
|
13天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
20 4
|
14天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
29 3
|
1月前
|
存储 前端开发 API
DDD领域驱动设计实战-分层架构
DDD分层架构通过明确各层职责及交互规则,有效降低了层间依赖。其基本原则是每层仅与下方层耦合,分为严格和松散两种形式。架构演进包括传统四层架构与改良版四层架构,后者采用依赖反转设计原则优化基础设施层位置。各层职责分明:用户接口层处理显示与请求;应用层负责服务编排与组合;领域层实现业务逻辑;基础层提供技术基础服务。通过合理设计聚合与依赖关系,DDD支持微服务架构灵活演进,提升系统适应性和可维护性。
|
2月前
|
运维 持续交付 API
深入理解并实践微服务架构:从理论到实战
深入理解并实践微服务架构:从理论到实战
128 3
|
2月前
|
存储 缓存 负载均衡
亿级流量架构理论+秒杀实战系列(二)
亿级流量架构理论+秒杀实战系列(二)
|
1月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
45 0
|
1月前
|
Unix 应用服务中间件 Linux
Nginx入门--初识Nginx的架构
Nginx入门--初识Nginx的架构
38 0
|
2月前
|
运维 监控 持续交付
深入浅出:微服务架构的设计与实战
微服务,一个在软件开发领域如雷贯耳的名词,它代表着一种现代软件架构的风格。本文将通过浅显易懂的语言,带领读者从零开始了解微服务的概念、设计原则及其在实际项目中的运用。我们将一起探讨如何将一个庞大的单体应用拆分为灵活、独立、可扩展的微服务,并分享一些实践中的经验和技巧。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和深入的理解。
77 3
|
2月前
|
SQL 缓存 运维
亿级流量架构理论+秒杀实战系列(一)
亿级流量架构理论+秒杀实战系列(一)
下一篇
无影云桌面