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

Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物理服务器可支持30000-50000个并发请求。

Nginx的安装文件可以从官方网站下载,下面以Nginx1.12版本为例,基于CentOS7,部署Nginx网站服务。

安装Nginx

第一步源码编译安装 1. 安装支持软件

Nginx的配置及运行需要gcc 、 gcc-c++ 、 make 、 pcre、pcre-devel、zlib-devel软件包的支持,以便提供相应的库和头文件,确保Nginx安装顺利。

创建yum仓库的步骤详细步骤请参考 Linux下通过rdesktop远程登陆Windows系统

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

如果是在有网络的情况下,CentOS7无需创建yum仓库,直接执行yum list命令更新一下yum源,稍微等待一会儿。

yum list //更新yum源 yum install gcc gcc-c++ make pcre pcre-devel zlib-devel -y 2. 创建运行用户、组

Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确的控制其访问权限,增加灵活性,降低安全风险。

useradd -M -s /sbin/nologin nginx //创建一个名为nginx用户,不建立宿主文件夹,禁止登录到shell环境 3. 编译安装 tar xzvf nginx-1.12.0.tar.gz -C /opt //解压Nginx软件至opt目录下 cd /opt/nginx-1.12.0/ //切换到Nginx目录下

根据实际需要配置Nginx的具体选项,配置前可参考“./configure --help”给出的说明。

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

--prefix:指定Nginx的安装目录

--user:指定Nginx的运行用户

--group:指定Nginx的运行组

--with-http_stub_status_module:启用http_stub_status_module模块以支持状态统计,便于查看服务器的连接信息 make //生成二进制文件 make install //编译安装 4. 为主程序Nginx创建链接文件

创建Nginx主程序的链接文件是为了方便管理员直接“nginx”命令就可以调用Nginx的主程序。

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 第二步检查配置文件并启动Nginx服务

1.检查配置文件

Nginx的主程序提供了“-t”选项来对配置文件进行检查,以便找出不当或错误的配置。

[root@centos7-1 nginx-1.12.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 2.启动Nginx

直接运行Nginx即可启动Nginx服务器

[root@centos7-1 nginx-1.12.0]# nginx [root@centos7-1 nginx-1.12.0]# killall -1 nginx //重启nginx服务 [root@centos7-1 nginx-1.12.0]# killall -3 nginx //停止nginx服务 3.使用Nginx服务脚本

为了使nginx服务的启动、停止、重载等操作更加方便,可以编写nginx服务脚本,并使用chkconfig和systemctl工具来进行管理,这更加符合系统的管理习惯。

[root@centos7-1 nginx-1.12.0]# vim /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" //PID存放路径 case "$1" in start) $PROG ;; stop) kill -s QUIT $(cat $PIDF) //根据PID中止nginx进程 ;; restart) $0 stop $0 start ;; reload) kill -s HUP $(cat $PIDF) //根据进程号重载配置 ;; *) echo "Usage: $0 {start|stop|restart|reload}" exit 1 esac exit 0 [root@centos7-1 nginx-1.12.0]# chmod +x /etc/init.d/nginx [root@centos7-1 nginx-1.12.0]# chkconfig --add nginx //添加为系统服务 [root@centos7-1 nginx-1.12.0]# systemctl start nginx.service 第三步确认Nginx服务是否正常运行

通过检查Nginx程序的监听状态,或者在浏览器中访问此Web服务,默认页面将显示“Welcome to nginx!”

[root@centos7-1 nginx-1.12.0]# netstat -antp | grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 54386/nginx: master [root@centos7-1 nginx-1.12.0]# yum install elinks -y [root@centos7-1 nginx-1.12.0]# elinks //使用elinks浏览器

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

配置访问状态统计页面

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f95a5938e907628653b9a06cd4058b27.html