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

简介:

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

相关文章
|
4月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
4月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
Spring Boot 3.x 微服务架构实战指南
|
5月前
|
消息中间件 数据采集 NoSQL
秒级行情推送系统实战:从触发、采集到入库的端到端架构
本文设计了一套秒级实时行情推送系统,涵盖触发、采集、缓冲、入库与推送五层架构,结合动态代理IP、Kafka/Redis缓冲及WebSocket推送,实现金融数据低延迟、高并发处理,适用于股票、数字货币等实时行情场景。
708 3
秒级行情推送系统实战:从触发、采集到入库的端到端架构
|
4月前
|
人工智能 JavaScript 前端开发
GenSX (不一样的AI应用框架)架构学习指南
GenSX 是一个基于 TypeScript 的函数式 AI 工作流框架,以“函数组合替代图编排”为核心理念。它通过纯函数组件、自动追踪与断点恢复等特性,让开发者用自然代码构建可追溯、易测试的 LLM 应用。支持多模型集成与插件化扩展,兼具灵活性与工程化优势。
367 6
|
5月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
716 7
|
5月前
|
人工智能 Cloud Native 中间件
划重点|云栖大会「AI 原生应用架构论坛」看点梳理
本场论坛将系统性阐述 AI 原生应用架构的新范式、演进趋势与技术突破,并分享来自真实生产环境下的一线实践经验与思考。
|
5月前
|
机器学习/深度学习 人工智能 vr&ar
H4H:面向AR/VR应用的NPU-CIM异构系统混合卷积-Transformer架构搜索——论文阅读
H4H是一种面向AR/VR应用的混合卷积-Transformer架构,基于NPU-CIM异构系统,通过神经架构搜索实现高效模型设计。该架构结合卷积神经网络(CNN)的局部特征提取与视觉Transformer(ViT)的全局信息处理能力,提升模型性能与效率。通过两阶段增量训练策略,缓解混合模型训练中的梯度冲突问题,并利用异构计算资源优化推理延迟与能耗。实验表明,H4H在相同准确率下显著降低延迟和功耗,为AR/VR设备上的边缘AI推理提供了高效解决方案。
870 0
|
4月前
|
机器学习/深度学习 自然语言处理 算法
48_动态架构模型:NAS在LLM中的应用
大型语言模型(LLM)在自然语言处理领域的突破性进展,很大程度上归功于其庞大的参数量和复杂的网络架构。然而,随着模型规模的不断增长,计算资源消耗、推理延迟和部署成本等问题日益凸显。如何在保持模型性能的同时,优化模型架构以提高效率,成为2025年大模型研究的核心方向之一。神经架构搜索(Neural Architecture Search, NAS)作为一种自动化的网络设计方法,正在为这一挑战提供创新性解决方案。本文将深入探讨NAS技术如何应用于LLM的架构优化,特别是在层数与维度调整方面的最新进展,并通过代码实现展示简单的NAS实验。
|
关系型数据库 MySQL 应用服务中间件
手动部署LNMP环境(Alibaba Cloud Linux 2)
本场景带您体验如何在Alibaba Cloud Linux 2.1903 LTS 64位操作系统的云服务器上搭建LNMP环境。