构建Nginx网站服务

随着计算机与Internet技术的蓬勃发展,各种Web站点成为直接面向用户的中坚力量,在各种网站服务器软件中,除了Apache外,还有一款轻量级的HTTP服务器软件——Nginx,其稳定性、高效的特性逐渐被越来越多的用户认可。本篇博客将搭建Nginx网站服务器,并配置基于域名的虚拟Web主机

Nginx的基本配置

Nginx是由俄罗斯的Igor Sysoev专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力(单台物理服务器可支持30 000~50 000个并发请求)。正因为如此,大量提供社交网络、新闻资讯、电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供Web服务

1. 安装Nginx

Nginx的安装文件可以从官方网站http://www.nginx.org/下载,下面以稳定片1.6.0为例,介绍Nginx的安装和运行控制

[[email protected] ~]# yum -y install pcre-devel zlib-devel            //Nginx的配置需要pcre、zlib等软件包的支持
[[email protected] ~]# useradd -M -s /sbin/nologin nginx               //创建一个nginx的程序用户
[[email protected] ~]# tar zxf nginx-1.6.0.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/nginx-1.6.0/
[[email protected] nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[[email protected] nginx-1.6.0]# make && make install   //启用http_stub_status_module模块以支持状态统计,便于查看服务器的连接信息

[[email protected] nginx-1.6.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/     
[[email protected] nginx-1.6.0]# nginx -t                        //检查配置文件是否有错误
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[[email protected] nginx-1.6.0]# nginx                           //开启服务
[[email protected] nginx-1.6.0]# netstat -anpt | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*        LISTEN      4614/nginx  

[[email protected] nginx-1.6.0]# killall -s HUP nginx           //重载服务
[[email protected] nginx-1.6.0]# killall -s QUIT nginx          //关闭服务

2. 编写Nginx服务脚本

为了使Nginx服务的启动、停止等操作更加方便,可以编写Nginx服务脚本,并使用chkconfig和service工具来进行管理

[[email protected] ~]# vim /etc/init.d/nginx      
#!/bin/bash
# chkconfig: 2345 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
  start)
   netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
   if [ $? -eq 0 ]
   then
     echo "Nginx service already running."
   else
     $PROG -t &> /dev/null
     if [ $? -eq 0 ] ; then
       $PROG
       echo "Nginx service start success."
     else
     $PROG -t
     fi
   fi
   ;;
  stop)
   netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
   if [ $? -eq 0 ]
   then
    kill -s QUIT $(cat $PIDF)
    echo "Nginx service stop success." 
   else
    echo "Nginx service already stop"
   fi
  ;;
  restart)
    $0 stop
    $0 start
    ;;
  status)
   netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
   if [ $? -eq 0 ]
   then
     echo "Nginx service is running."
   else
     echo "Nginx is stop."
   fi
  ;;
  reload)
   netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
   if [ $? -eq 0 ]
   then
    $PROG -t &> /dev/null
    if [ $? -eq 0 ] ; then
      kill -s HUP $(cat $PIDF)
      echo "reload Nginx config success."
    else
      $PROG -t
    fi
   else
      $PROG -t
    fi
   else
    echo "Nginx service is not run." 
   fi
    ;;
  *)
   echo "Usage: $0 {start|stop|restart|reload}"
   exit 1
esac

[[email protected]lhost ~]# chmod +x /etc/init.d/nginx 
[[email protected] ~]# chkconfig --add nginx           //将nginx添加到系统服务

2. 配置文件nginx.conf

在Nginx服务器的主配置文件,包括全局配置、I/O事件配置、HTTP配置三大块内容

(1)全局配置

[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf
#user  nobody;                     //运行用户
worker_processes  1;               //工作进程数量,可参考CPU核心总数来指定工作进程数
#error_log  logs/error.log;        //错误日志文件的位置
#pid        logs/nginx.pid;        //PID文件的位置

(2)I/O事件配置

建议使用epoll模型以提高性能,进程的连接数根据实际需求来定,一般在10000以下(默认1024)

events {
    use epoll;                   //使用epoll模型
    worker_connections  1024;    //每个进程处理1024个连接,可按需求进行调整
}

(3)HTTP配置

包括访问日志、HTTP端口、网页目录、默认字符集、连接保持等

Nginx的访问状态统计

Nginx内置了HTTP_STUB_STATUS状态统计模块,用来反馈当前的Web访问情况。除了编译安装时需要启动该模块外,还需要修改nginx.conf配置文件,指定访问位置并打开stub_status配置

[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf
……省略部分内容
    server {
        location /status {        //访问的位置为/status
          stub_status on;         //打开状态统计功能
          access_log off;         //关闭此位置的日志记录
}
……省略部分内容
}

[[email protected] ~]# service nginx restart

在浏览器中访问Nginx服务器的/status网站位置,可以看到当前的统计信息

配置虚拟Web主机

在前面的Apache服务中,已经介绍了基于域名、基于IP地址、基于端口号三种虚拟Web主机。而使用Nginx搭建虚拟Web主机服务器时,每个虚拟Web站点拥有独立的“server{ }”配置项,网站名称、IP地址、端口号都可以单独指定,下面将配置基于域名的虚拟Web主机

(1)搭建DNS服务器

这里采用另一种方法,修改hosts文件,只能在本机解析域名

[[email protected] ~]# vim /etc/hosts
127.0.0.1       www.ysf.com
127.0.0.1       www.yangshufan.com

(2)准备网站目录及测试文件

[[email protected] ~]# mkdir /var/www/ysf
[[email protected] ~]# mkdir /var/www/yangshufan
[[email protected] ~]# echo www.ysf.com > /var/www/ysf/index.html
[[email protected] ~]# echo www.yangshufan.com > /var/www/yangshufan/index.html

(3)调整nginx.conf配置文件

[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf
http {
……省略部分内容
    server {
        listen       80;
        server_name  www.ysf.com;
        charset utf-8;
        #access_log  logs/host.access.log  main;
        location / {
            root   /var/www/ysf;
            index  index.html index.htm;
        }
     }
    server {
        listen       80;
        
        server_name  www.yangshufan.com;

        location / {
            root   /var/www/yangshufan;
            index  index.html index.htm;
        }
    }  
}   
[[email protected] ~]# service nginx reload

(4)访问虚拟Web主机

在浏览器中分别访问两个站点,若能看到测试文件,就表示虚拟Web主机的配置成功

原文地址:http://blog.51cto.com/yangshufan/2060354

时间: 2024-10-29 19:08:28

构建Nginx网站服务的相关文章

nginx网站服务于虚拟主机

   Nginx网站服务于虚拟主机 1:nginx的优点: 稳定性高 系统资源消耗低 http并发量处理能力好可支持30000-50000个并发请求 主要用于静态页面 以线程为单位,一个进程对应多个用户,(线程很少占用系统资源) 2:与Apache的对比: Apache主要用于动态页面 支持功能多 稳定性能高 Apache以进程为单位,一个用户对应一个进程(一对一) 3:nginx主要用于:电商,网站,社交,门户...... 4:安装及控制nginx 1.安装支持软件 [[email prote

Nginx网站服务+LNMP架构及应用部署

第2章:Nginx网站服务 防伪码:撑起坚强! Nginx专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力(单台物理服务器可支持30000-50000个并发请求).正因如此,大量提供社交网络.新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供Web服务. 一.安装及运行 1.搭建yum仓库,安装支持软件 2.创建运行用户.组(nginx默认以nobody身份运行,不安全,所以需要创建用户) 3.编译安装nginx和解包 为了方便管理

Nginx 网站服务——虚拟主机配置

第1章 Nginx 网站服务 1.1 web网站服务介绍: 1.1.1 提供静态服务的软件 Apache:这是中小型Web服务的主流,Web服务器中的老大哥. Nginx:大型网站Web服务的主流,曾经Web服务器中的初生牛犊,现已长大. Nginx的分支Tengine(http://tengine.taobao.org/)目前也在飞速发展. Lighttpd:这是一个不温不火的优秀Web软件,社区不活跃,静态解析效率很高.在Nginx流行前,它是大并发静态业务的首选,国内百度贴吧.豆瓣等众多网

部署Nginx网站服务实现访问状态统计以及访问控制功能

Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物理服务器可支持30000-50000个并发请求. Nginx的安装文件可以从官方网站http://www.nginx.org/下载,下面以Nginx1.12版本为例,基于CentOS7,部署Nginx网站服务. 安装Nginx 第一步源码编译安装 1. 安装支持软件 Nginx的配置及运行需要gcc . gcc-c++ . make . pcre.pcre-devel.zlib-de

Nginx网站服务——基础服务与访问控制

Nginx简述 Nginx是一款高性能,轻量级web服务软件,其稳定性高.系统资源消耗低, 对HTTP并发连接的处理能力高(单台物理服务器可支持30000~50000个并发请求). Nginx常用命令 nginx -t 检查配置文件语法 nginx 启动nginx服务 killall -3 nginx 停止nginx服务 killall -s QUIT nginx 停止nginx服务 killall -s HUP nginx 重载nginx服务 killall -1 nginx 重载nginx服

Nginx网站服务

一.简介 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.2011年6月1日,nginx 1.0.4发布. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件

搭建nginx网站服务及应用

实验环境: 服务器系统:Redhat 6.2             ip地址:192.168.10.1 客户机系统:Win7 64位 旗舰版   ip地址:192.168.10.2 系统环境:已搭建LAMP平台 1.搭建nginx服务并实现访问状态统计 [[email protected] ~]#yum -y install pcre-devel zlib-devel  #首先需要安装这两个工具 [[email protected] ~]#useradd -M -s /sbin/nologin

nginx网站服务(下)

第1章 回顾 1.1 nginx软件服务 1.1.1 软件概念以及特性介绍 1. 可以实现高并发访问处理,消耗资源小 2. 软件知识功能很多(web服务功能  反向代理功能  缓存功能) 3. 利用异步网络IO模型,实现快速处理用户请求(epoll) 1.1.2 软件部署过程 1)下载解压软件(nginx.org) 2)安装依赖软件 openssl-devel  pcre-devel 3)创建出一个worker进程管理用户 4)进行nginx软件编译安装 a 进行软件配置     ./confi

Centos 7部署Nginx网站服务

一.Nginx服务基础 Nginx专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力(单台物理服务器可支持30000~50000个并发请求).正因为如此,大量提供社交网络.新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供Web服务. 1.Nginx服务的优势 Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性: 高并发连接:官方测试能支撑5万并发连接,在实际生产环境中跑到2,~3W并发连: 内存消耗少:在