1.构建 Nginx WEB 服务器
入门简介:
Nginx [engine x]是 Igor Sysoev 编写的一个 HTTP 和反向代理服务器,另外它也可以作为邮件 代理服务器。 它已经在众多流量很大的俄罗斯网站上使用了很长时间,这些网站包括 Yandex、Mail.Ru、VKontakte,以及 Rambler。 据 Netcraft 统计,在 2012 年 8 月份,世界上最繁忙的网站中有 11.48%使用 Nginx 作为其服 务器或者代理服务器。目前互联网主流公司 360、百度、新浪、腾讯、阿里等都在使用 nginx 作为自己的 web 服务器。 Nginx 由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅 仅通过查找配置文件将客户端请求映射到一个 location block(location 是 Nginx 配置中的一 个指令,用于 URL 匹配),而在这个 location 中所配置的每个指令将会启动不同的模块去完 成相应的工作。

Nginx 相对于 Apache 优点:
1)高并发响应性能非常好,官方 Nginx 处理静态文件并发 5w/s
2)反向代理性能非常好。(可用于负载均衡)
3)内存和 cpu 占用率低。(为 Apache 的 1/5-1/10)
4)功能较 Apache 少(常用功能均有)
5)对 php 可使用 cgi 方式和 fastcgi 方式。

2.Nginx WEB 安装配置
首先需要安装 pcre 库,然后再安装 Nginx:

安装 pcre 支持 rewrite 库,也可以安装源码,注*安装源码时,指定 pcre 路径为解压 源码的路径,而不是编译后的路径,否则会报错

2.1.下载依赖包
yum install -y gcc pcre pcre-deve openssl openssl-deve gd gd-deve

2.2.下载nginx源码包
wget -c http://nginx.org/download/nginx-1.4.2.tar.gz

2.3解压 Nginx 源码包
tar -xzf nginx-1.4.2.tar.gz

#此步不重要 进入解压目录,然后 sed 修改 Nginx 版本信息为 WS
cd nginx-1.4.2 ; sed -i -e 's/1.4.2//g' -e 's/nginx//WS/g' -e 's/"NGINX"/"WS"/g' src/core/nginx.h

#预编译Nginx

useradd -s /sbin/nologin nginx         #不能登录系统的用户

./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

6.> --prefix=/usr/local/nginx   \                //指定安装路径
7.> --user=nginx   \                            //指定用户
8.> --group=nginx  \                            //指定组
9.> --with-http_ssl_module                        //开启SSL加密功能

#.configure 预编译成功后,执行 make 命令进行编译

make && make install

#自此 Nginx 安装完毕 /usr/local/nginx/sbin/nginx -t 检查 nginx 配置文件是否正确,返回 OK 即正确。
]# /usr/local/nginx/sbin/nginx -t

启动 nginx
/usr/local/nginx/sbin/nginx 回车即可。查看进程是否已启动:

ps -ef |grep nginx 查看是否启动

3.Nginx 虚拟主机配置
3.1. #去掉 nginx 配置文件中的#号开 头的行和空行,并将结果追加到 nginx.conf.swp 文件中

  cat nginx.conf | grep -v '#' |grep -v '^$' >>nginx.conf.swp 

  cp nginx.conf nginx.conf.bak     #将原 nginx.conf 备份(可以用&&连起来执行)
  rm -rf nginx.conf        #然后删除
  mv nginx.conf.swp nginx.conf    #然后将 nginx.conf.swp 重命名为 nginx.conf

  vim nginx.conf             #在末尾添加 include vhosts/*.conf;
   include vhosts/*.conf;


  3.2.配置多主机头
  mkdir -p /usr/local/nginx/conf/vhosts/        #创建存放多主机头的目录
  touch /usr/local/nginx/conf/vhosts/server.conf        #创建有主机头配置文件
  mkdir -p /usr/local/nginx/conf/vhosts/{jingdong,taobao}    #创建两个存放页面的目录
  vim /usr/local/nginx/conf/vhosts/server.conf        #编写多主机头的配置文件
   server {
             listen 80;
             server_name localhost;
             location / { 
                          root /usr/local/nginx/conf/vhosts/jingdong; 
                          index index.html index.html;
             }
             error_page 500 502 503 504 /50x.html;
             location = /50x.html {
                              root html;
             }
   } #原本的是这个样子的端口 80 跟目录为 html,首页为 index.html

   server {
              listen 81;
              server_name localhost;
              location / {
                                root /usr/local/nginx/conf/vhosts/taobao;
                                index index.html;
              }
     }

—————————————————————————————————————————————————————
配置虚拟主机头可以在源文件/usr/local/nginx/conf/nginx.conf里的https模块中添加

   server {
             listen 80;                        #//端口
             server_name localhost;                #//域名
             location / { 
                          root /usr/local/nginx/conf/vhosts/jingdong;     #//指定网站根路径
                          index index.html index.html;
             }
   } #原本的是这个样子的端口 80 跟目录为 html,首页为 index.html

   server {
              listen 81;                        #//端口
              server_name localhost;                #//域名
              location / {
                                root /usr/local/nginx/conf/vhosts/taobao;    #//指定网站根路径
                                index index.html;
              }
     }

—————————————————————————————————————————————————————

分别在 jingdong 和 taobao 目录下创建 2 个 index.html 页面,写上 jingdong 和 taobao 为了访问的时候好区分开。
cd /usr/local/nginx/conf/vhosts/jingdong
echo "jingdong" > index.html
taobao一样操作

然后重启 nginx 然后用谷歌浏览器访问 80 和 81 端口如下
/usr/local/nginx/sbin/nginx -s restart
netstat -tunlp | grep ngins

浏览器访问192.168.1.10:80
显示jingdong

浏览器访问192.168.1.10:81
显示taobao

至此 nginx 虚拟主机多主机头配置完成!

标签: none

添加新评论