设为首页 收藏本站
查看: 1222|回复: 0

[经验分享] CentOS6.5 Nginx搭建web服务器,实现平滑升级,虚拟主机及访...

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-5-23 09:10:11 | 显示全部楼层 |阅读模式
CentOS6.5 Nginx搭建web服务器,实现平滑升级,虚拟主机及访问控制
                      一.搭建Nginx服务器


1.释放80端口
# netstat -tulnp | grep :80
# service httpd stop
# chkconfig --level 35 httpd off

2.安装依赖软件包
# yum -y groupinstall“开发工具”“开发库”
# yum -y install gcc gcc-c++ make
# yum-y install pcre-devel
# yum -y install openssl-devel

3.安装Nginx软件
# useradd -M -s /sbin/nologin nginx     //创建nginx程序用户                                                      
#tar -zxvf nginx-0.8.55.tar.gz
#cd nginx-0.8.55
./configure   
> --prefix=/usr/local/nginx   
> --user=nginx   
> --group=nginx  
> --with-http_stub_status_module  
> --with-http_ssl_module         

# make && make install

4.开启服务
# cd /usr/local/nginx/sbin
# ./nginx
# echo "/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf" >> /etc/rc.local
//设置为开机启动
# netstat -tulnp | grep :80
tcp        0      0 0.0.0.0:80      0.0.0.0:*          LISTEN      6924/nginx

二.平滑升级(在不停止服务的情况下,升级Nginx软件版本)
#tar -zxvf nginx-1.0.5.tar.gz           //解压高版本Nginx
#cd nginx-1.0.5
./configure   
> --prefix=/usr/local/nginx   
> --user=nginx   
> --group=nginx  
> --with-http_stub_status_module  
> --with-http_ssl_module
# make
# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
# cp objs/nginx /usr/local/nginx/sbin/
# make upgrade
/usr/local/nginx/sbin/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
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
sleep 1
test -f /usr/local/nginx/logs/nginx.pid.oldbin
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

# /usr/local/nginx/sbin/nginx -v           //查看nginx版本
nginx: nginx version: nginx/1.0.5


三.配置Nginx虚拟主机

  • 基于域名虚拟主机
1.1 编辑主配置文件
# vim /usr/local/nginx/conf/nginx.conf
……
17 http {
18     include       mime.types;
19     default_type  application/octet-stream;
……
34     server  {
35         listen  80;
36         server_name   www.jinjianjun.com;
37           location  /  {
38                   root  /www;
39                   index   index.html;
40          }
41     }
42     server  {
43         listen  80;
44         server_name   bbs.jinjianjun.com;
45         location  /  {
46                   root  /bbs;
47                   index   index.html;
48          }

1.2 制作测试网页
# mkdir /www
# mkdir /bbs
# echo www.jinjianjun.com > /www/index.html         
# echo bbs.jinjianjun.com > /bbs/index.html

1.3 检查配置文件
# ./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

1.4 重启服务
# /usr/local/nginx/sbin/nginx -s stop
# /usr/local/nginx/sbin/nginx

1.5 客户端测试
# vim /etc/hosts
192.168.100.1  www.jinjianjun.com  www
192.168.100.1  bbs.jinjianjun.com  bbs

# elinks -dump http://www.jinjianjun.com
   www.jinjianjun.com
# elinks -dump http://bbs.jinjianjun.com
   bbs.jinjianjun.com


2.基于端口的虚拟主机
2.1 修改主配置文件
    server  {
        listen  8080;
        server_name   www.jinjianjun.com;
          location  /  {
                  root  /www;
                  index   index.html;
         }
    }
    server  {
        listen  8090;
        server_name   www.jinjianjun.com;
        location  /  {
                  root  /bbs;
                  index   index.html;
         }
   }

2.2 重启服务
# /usr/local/nginx/sbin/nginx -s stop
# /usr/local/nginx/sbin/nginx


2.3 客户端测试
# elinks -dump http://www.jinjianjun.com:8080
   www.jinjianjun.com
# elinks -dump http://www.jinjianjun.com:8090
   bbs.jinjianjun.com

3.基于ip的虚拟主机
3.1 添加IP
# ifconfig eth0:0 192.168.100.2

3.2 修改主配置文件
    server  {
        listen  192.168.100.1:80;
#        server_name   www.jinjianjun.com;
          location  /  {
                  root  /www;
                  index   index.html;
         }
    }
    server  {
        listen  192.168.100.2:80;
#        server_name   www.jinjianjun.com;
        location  /  {
                  root  /bbs;
                  index   index.html;
         }
   }

3.3 重启服务
# kill -HUP `cat /usr/local/nginx/logs/nginx.pid`  


3.4 客户端测试
# elinks -dump 192.168.100.1
   www.jinjianjun.com
# elinks -dump 192.168.100.2
   bbs.jinjianjun.com

四、客户端访问控制
实验需求:配置基于域名的虚拟主机
www.jinjianjun.com
bbs.jinjianjun.com
只允许从ip 192.168.100.254主机访问  bbs.tarena.com的8080端口,访问时要提交正确的验证用户admin密码123456方可访问

4.1 修改主配置文件
# vim /usr/local/nginx/conf/nginx.conf
……
    server  {
        listen  192.168.100.1:80;
        server_name   www.jinjianjun.com;
          location  /  {
                  root  /www;
                  index   index.html;
         }
    }
    server  {
        listen  192.168.100.1:8080;
        server_name   bbs.jinjianjun.com;
        location  /  {
                  root  /bbs;
                  index   index.html;
                  allow 192.168.100.254;
                  deny all;
                  auth_basic  "check your name";
                  auth_basic_user_file    /usr/local/nginx/conf/authuser.txt;
         }
……


4.2 创建验证用户
# htpasswd -c /usr/local/nginx/conf/authuser.txt admin
New password:
Re-type new password:
Adding password for user admin

# cat /usr/local/nginx/conf/authuser.txt
admin:m37ojgyep3fls

4.3 重启服务
# kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

4.4 客户端测试  
wKioL1N-FAGCMzarAAImQC8w2MY371.jpg
                    



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-19502-1-1.html 上篇帖子: nginx之geoip模块使用 下篇帖子: Ubuntu 14.04安装Nginx1.60 web服务器 虚拟主机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表