Nginx部署及综合应用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx部署及综合应用相关的知识,希望对你有一定的参考价值。
介绍
nginx是一款轻量级的HTTP服务器软件,由俄罗斯的Igor Sysoev开发。它能够支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且系统资源消耗非常低,现已逐渐被越来越多的用户认可,目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,来提升整个站点的负载并发能力。
系统环境:
- rhel 6.5 操作系统
- 服务器IP地址:192.168.100.5
- Nginx-1.6.0.tar.gz 百度下载 密码:gz86
实现目标:
- 安装Nginx服务器
- 启用Nginx的状态统计
- 创建多虚拟主机
- 实现用户身份验证访问
- 用户授权访问控制
开始部署
一. 安装Nginx服务器
1.安装依赖包
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
2.新建nginx管理用户
useradd -M -s /sbin/nologin nginx
3.解压
tar xzvf nginx-1.6.0.tar.gz -C /opt
4.配置
cd /opt/nginx-1.6.0/
./configure
--prefix=/usr/local/nginx
--user=nginx
--group=nginx
--with-http_stub_status_module #开启stub_status状态统计模块
5.编译及安装
make && make install
6.建立nginx链接,便于系统管理
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
########### nginx管理命令 ###########
nginx -t #nginx配置文件检查
nginx #启动
killall -1 nginx #重启nginx
killall -3 nginx #停止nginx
######################################
7.生成nginx管理脚本
vi /etc/init.d/nginx
#!/bin/bash
#chkconfig: - 99 20
#description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0
8.nginx赋予执行权限
chmod +x /etc/init.d/nginx
9.nginx加入系统服务管理
chkconfig --add nginx
10.启动nginx
service nginx start
11.测试
二. 启用Nginx的状态统计
1.进入nginx的conf目录
cd /usr/local/nginx/conf
2.备份nginx.conf配置文件
mv nginx.conf nginx.conf.bak
3.过滤掉注释文件至nginx.conf文件
grep -v "#" nginx.conf.bak > nginx.conf
4.编辑nginx.conf配置文件
vim nginx.conf
server {
listen 80;
server_name localhost;
charset utf-8;location / {
root html;
index index.html index.htm;
}#修改此处配置
location ~ /status { #访问位置为/status
stub_status on; #打开状态统计功能
access_log off; #关闭此位置的日志记录
}error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
5.检测配置文件是否配置正确
nginx -t
6.重新启动nginx
service nginx restart
7.测试
三. 创建多虚拟主机
1.编辑nginx主配置文件
vim /usr/local/nginx/conf/nginx.conf
2.添加以下两个虚拟主机
server {
listen 80;
server_name www.web1.com; #域名
location / {
root /var/www/web1; #站点目录
index index.html index.php;
}
}server {
listen 80;
server_name www.web2.com; #域名
location / {
root /var/www/web2; #站点目录
index index.html index.php;
}
}
3.检测配置文件是否配置正确
nginx -t
4.重新启动nginx
service nginx restart
5.测试
访问www.web1.com 站点:
访问www.web2.com 站点:
四. 实现用户身份验证访问
1.使用htpasswd生成用户认证文件,需要输入两次密码确认
htpasswd -c /usr/local/nginx/passwd.db zhangsan
2.修改密码文件的权限
chmod 400 /usr/local/nginx/passwd.db
3.修改密码文件所有者
chown nginx /usr/local/nginx/passwd.db
4.编辑nginx主配置文件
vim /usr/local/nginx/conf/nginx.conf
location / {
auth_basic "secret"; #添加认证配置
auth_basic_user_file /usr/local/nginx/passwd.db; #指定密码文件路径
root html;
index index.html index.htm;
}
5.检测配置文件是否配置正确
nginx -t
6.重新启动nginx
service nginx restart
7.测试
五. 用户授权访问控制
1.编辑nginx主配置文件
vim /usr/local/nginx/conf/nginx.conf
location / {
deny 192.168.100.30; #禁止192.168.100.30访问
allow all; #允许其他主机访问
root html;
index index.html index.htm;
}
2.检测配置文件是否配置正确
nginx -t
3.重新启动nginx
service nginx restart
4.测试
未禁止访问时,该客户机可以正常访问浏览
添加禁止访问设置后,该客户机已经不能够访问浏览了
以上是关于Nginx部署及综合应用的主要内容,如果未能解决你的问题,请参考以下文章