千家信息网

Nginx访问控制与虚拟主机(基于端口,基于域名),内附源码

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,nginx安装文件可以从官方网站http://www.nginx.org/下载。下面以稳定版nginx-1.6.0为例,介绍nginx的安装和运行控制,实验主机为redhat6.5系统。免费提供源码包
千家信息网最后更新 2026年10月31日Nginx访问控制与虚拟主机(基于端口,基于域名),内附源码


nginx安装文件可以从官方网站http://www.nginx.org/下载。下面以稳定版nginx-1.6.0为例,介绍nginx的安装和运行控制,实验主机为redhat6.5系统。

免费提供源码包:百度云盘

https://pan.baidu.com/s/1nQ9Qok49au7Cn3elS7IbBQ

1,编译安装nginx

(1)安装支持软件

nginx的配置及运行需要pcre,zlib等软件包的支持,因此应预先安装这些软件的开发包pcre-devel ,zlib-devel ,以便提供相应的库和头文件,确保nginx的安装顺利

yum -y install pcre-devel zlib-devel gcc gcc-c++


(2)解压nginx软件包,并创建用户,组。

nginx服务程序默认以nobody身份运行,建议为其创建专门的用户帐号,以便更准确地控制其访问权限,增加灵活性,降低安全风险。例如:创建一个名为nginx的用户,不建立宿主目录,也禁止登录到shell环境。

tar xzvf nginx-1.6.0.tar.gz -C /opt

cd /opt/nginx-1.6.0/

useradd -M -s /sbin/nologin nginx

(3)编译安装nginx

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module //开启stub_status状态统计模块//
make
make install
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ //建立软连接,让系统识别nginx命令

(4)nginx的运行控制

-----检查、启动、重启、停止--------
nginx -t //检查
nginx //启动
killall -1 nginx //重启
killall -3 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


chmod +x /etc/init.d/nginx
chkconfig --add nginx

2.nginx访问状态统计

nginx内置了http_stub_status状态统计模块,用来反馈当前的web访问情况,要使用nginx的统计功能,除了启用内建模块以外,还需要修改nginx.conf配置文件,指定访问位置并添加stub_status配置代码。

[root@ling conf]# vim nginx.conf

server {
listen 80;
server_name localhost;
charset utf-8;

location / {
root html;
index index.html index.htm;
}

location ~ /status {
stub_status on;
access_log off;
} //在"server"这里插入这4行的

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}
}

-------解释如下---------
location ~ /status { //访问位置为/status
stub_status on; //打开状态统计功能
access_log off; //关闭此位置的日志记录
}

然后重启nginx服务,新的配置生效后,在浏览器中访问nginx服务器的/status网站位置,可以看到当前的状态统计信息,

Active connettions //表示当前的活动连接数

server accepts handle requests //表示已经处理的连接信息 三个数字依次表示:已处理的连接数;成功的TCP握手次数;已处理的请求数












3,基于域名的虚拟主机

利用虚拟主机,不用为每个要运行的网站提供一台单独的nginx服务器或单独运行一组nginx进程,虚拟主机提供了在同一台服务器,同一组nginx进程上运行多个网站的功能。

使用nginx搭建虚拟主机服务器时,每个虚拟web站点拥有独立的"server{}"配置段,各自监听的ip地址,端口号,网站名。

(1)修改配置文件nginx.conf,把配置文件中的server{}代码段全部去掉,加入两个新的server{}段,对应两个域名accp.com ,benet.com。


(2)分别准备各个网站的站点目录和测试首页

(3)在浏览器中,分别访问两个域名,可以看到不同的页面。

4,基于端口的虚拟主机

(1)在配置文件nginx.conf中再添加一个server{}段,端口改为8080,和benet.com对应同一个ip地址。


(2)创建站点目录和测试页面

(3)访问www.benet.com:8080端口


5,授权用户的访问控制

nginx和apache一样,可以实现基于用户授权的访问控制,当客户端想要访问相应的网站或者目录时,要求用户输入用户名和密码才能正常访问。

(1)使用htpasswd生成用户认证文件,

(2)修改密码文件的权限为400,将所有者改为nginx,设置nginx的运行用户能够读取。

(3)修改主配置文件,添加相应配置项

location / {
auth_basic "secret";
auth_basic_user_file /usr/local/nginx/passwd.db;
root html;
index index.html index.htm;
}

(4)用浏览器访问网址,检验控制效果。

配置 文件 用户 运行 网站 主机 控制 服务 统计 虚拟主机 状态 位置 服务器 目录 软件 域名 端口 两个 功能 模块 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司华为 科技互联网龙头 广州互联网科技公司 互联网与新科技 互联网科技公司官网 迪茉互联网科技 互联网高科技股票 青海省互联网新科技 天速互联网络科技有限公司 温州喔噻互联网科技有限公司 剑昆互联网络科技有限公司临桂 深圳市优智互联网科技有限公司 亳州好赞互联网科技有限公司 伊宁互联网科技做什么的 科技互联网的核心竞争力 南通创西澳互联网科技有限公司 互联网科技接地气 银川新华互联网科技学校是国营吗 互联网大会出现的黑科技 利用互联网等科技手段 智网互联网科技 互联网科技的未来发展 成都狮子座互联网科技 阿大互联网科技有限公司 青海科技产业互联网发展 洛阳共同富裕互联网科技有限公司 互联网科技和法律行业 江苏互联网智能科技软件 版纳互联网科技选哪家 互联网科技创业计划的风险分析
0