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

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



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


1、nginx虚拟主机简单介绍

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



2、nginx虚拟主机配置环境

系统环境

[[email protected] scripts]# cat /etc/redhat-release 

CentOS release 6.5 (Final)

[[email protected] scripts]# uname -r

2.6.32-431.el6.x86_64

nginx服务的版本

[[email protected] scripts]# /application/nginx/sbin/nginx -v

nginx version: nginx/1.10.1



3、nginx虚拟主机配置准备

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

[[email protected] ~]# mkdir /www/{www,bbs,blog} -p

[[email protected] ~]# tree /www

/www

+-- bbs

+-- blog

+-- www

3 directories, 0 files

用于存放站点文件的目录

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

授权目录

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

[[email protected] ~]# chown -R nginx.nginx /www

[[email protected] ~]# 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

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

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

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

[[email protected] ~]# echo "welcont to mingongge‘s web stie" >/www/www/index.html

[[email protected] ~]# echo "welcont to mingongge‘s bbs stie" >/www/bbs/index.html   

[[email protected] ~]# echo "welcont to mingongge‘s blog stie" >/www/blog/index.html  

[[email protected] ~]# cat /www/www/index.html 

welcont to mingongge‘s web stie

[[email protected] ~]# cat /www/bbs/index.html 

welcont to mingongge‘s bbs stie

[[email protected] ~]# cat /www/blog/index.html 

welcont to mingongge‘s blog stie

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



4、nginx虚拟主机配置

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

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

配置主配置文件

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

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

     include  extra/vhosts/*.conf;

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

创建虚拟主机配置目录

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

[[email protected] conf]# pwd

/application/nginx/conf

[[email protected] conf]# mkdir -p extra/vhosts

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

创建虚拟主机配置文件

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

[[email protected] conf]# cd extra/vhosts/

[[email protected] vhosts]# mkdir bbs www blog

[[email protected] vhosts]# cp ../../nginx.conf www/www.conf

[[email protected] vhosts]# cp ../../nginx.conf bbs/bbs.conf

[[email protected] 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;

        }

        }   

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



BBS站点虚拟主机配置文件

server {

        listen       80;

        server_name  bbs.mingongge.com;

        location / {

            root   /www/bbs;

            index  index.html index.htm;

        }

        } 



BLOG站点虚拟主机配置文件

server {

        listen       80;

        server_name  blog.mingongge.com;

        location / {

            root   /www/blog;

            index  index.html index.htm;

        }

        } 


5、重启服务与测试访问

[[email protected] 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

[[email protected] vhosts]# /application/nginx/sbin/nginx -s reload

[[email protected] 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)

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



时间: 2024-10-25 21:31:19

LNMP架构应用实战——Nginx配置虚拟主机的相关文章

LNMP架构应用实战——Nginx服务配置文件介绍

LNMP架构应用实战--Nginx服务配置文件介绍 nginx的配置文件比较简单,但功能相当强大,可以自由灵活的进行相关配置,因此,还是了解下其配置文件的一此信息 1.Nginx服务目录结构介绍 安装完成后,在安装路径下就会有Nginx目录信息 [[email protected] application]# tree nginx nginx +-- client_body_temp +-- conf          #nginx服务配置文件目录 |   +-- fastcgi.conf  

nginx配置虚拟主机vhost的方法详解

摘自:http://www.jb51.net/article/107331.htm Nginx vhost配置,可实现基于ip.端口号.servername的虚拟主机,同时可避免直接修改主配置文件.在nginx下配置虚拟主机vhost非常方便.这篇文章主要介绍了nginx配置虚拟主机vhost的方法,需要的朋友可以参考下 前言 所谓虚拟主机,是说通过几个不同的url地址,都能到达nginx环境,只不过针对不同的url,处理的逻辑不同.nginx支持虚拟主机,但是浏览器等客户端不知道,所以虚拟主机

nginx配置虚拟主机之不同端口和不同IP地址

配置nginx虚拟主机不同端口和不同ip地址,和上编nginx基于域名配置虚拟主机博文类似,请先参考. zxl.com域名不同端口,配置文件内容如下: [[email protected] conf.d]# cat zxl.com.conf  server { listen 81; server_name www.zxl.com zxl.com; location / { root /data/zxl; index index.html index.htm; access_log  logs/z

nginx 配置虚拟主机的三种方法

nginx,一个server标签就是一个虚拟主机. 1.基于域名的虚拟主机,通过域名来区分虚拟主机--应用:外部网站 2.基于端口的虚拟主机,通过端口来区分虚拟主机--应用:公司内部网站,外部网站的管理后台 3.基于ip的虚拟主机,几乎不用. 1.基于域名配置虚拟主机配置: 需要建立/data/www /data/bbs目录,windows本地hosts添加虚拟机ip地址对应的域名解析: 对应域名网站目录下新增index.html文件: nginx.conf配置文件新增如下代码: server 

实战Nginx(1)-虚拟主机基础配置

Nginx 是一个轻量级高性能的 Web 服务器, 并发处理能力强, 对资源消耗小, 无论是静态服务器还是小网站, Nginx 表现更加出色, 作为 Apache 的补充和替代使用率越来越高. 增加 Nginx 虚拟主机 这里假设大家的 Nginx 服务器已经安装好.我们可以参照apache的关于虚拟主机的配置,直接在主配置文件中引用虚拟主机配置文件,而虚拟主机的配置文件另外存放到特定的虚拟主机存放目录: 1.我们先创建网站资源存放目录: [[email protected] /]# mkdir

Nginx配置——虚拟主机基于IP,域名,端口(实战!)

Nginx虚拟主机 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机 一,安装DNS域名解析服务器 1,安装bind服务器 [[email protected] ~]# yum install bind -y 2,修改主配置文件(named.conf) [[email protected] ~]# vim /etc/named.conf options { listen-on port 53 { any; }; ##监听所有 listen-on-v6 port 53 { ::1;

nginx配置虚拟主机之基于域名

安装nginx请参考,nginx编译安装的博文 1:配置nginx虚拟主机,同一个端口80,多个不同的域名.nginx默认主配置文件内容如下 [[email protected] conf]# cat nginx.conf user  nginx; worker_processes  1; error_log  logs/error.log; pid        logs/nginx.pid; events {     worker_connections  1024; } http {   

window下phpstudy的nginx配置虚拟主机

由于很长时间没有配置Apache,虽然说知道怎么配置nginx,但是还是花费了一些时间这次记下来下次直接用 在其他选项文件菜单中->打开配置文件->选择vhosts-conf nginx的话使用 server { listen 80; server_name 你的虚拟目录名称; root "你要操作的目录路径"; location / { index index.html index.htm index.php; #autoindex on; if ($request_fi

Nginx配置虚拟主机(二)

一. 配置基于域名的虚拟主机 [[email protected] conf]# egrep -v "#|^$" nginx.conf.default > nginx.conf [[email protected] conf]# cat nginx.conf worker_processes  1; events {     worker_connections  1024; } http {     include       mime.types;     default_t