在Linux系统中搭建Nginx网站服务
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,关于Nginx一款高性能、轻量级Web服务软件稳定性高系统资源消耗低对HTTP并发连接的处理能力高单台物理服务器可支持30000 ~ 50000个并发请求Nginx编译安装Nginx源码包下载安装支持
千家信息网最后更新 2025年02月03日在Linux系统中搭建Nginx网站服务
关于Nginx
一款高性能、轻量级Web服务软件
稳定性高
系统资源消耗低
- 对HTTP并发连接的处理能力高
单台物理服务器可支持30000 ~ 50000个并发请求
Nginx编译安装
- Nginx源码包下载
安装支持软件
[root@localhost opt] yum install gcc gcc-c++ make pcre-devel zlib-devel -y
创建运行用户、组
[root@localhost opt] useradd -M -s /sbin/nologin nginx
编译安装Nginx
[root@localhost ~] mount.cifs //192.168.100.10/lnmp /mnt/ //将本地nginx源码包挂载到mnt目录下[root@localhost ~] cd /mnt/[root@localhost mnt] tar zxvf nginx-1.12.2.tar.gz -C /opt/ //解压源码包到opt目录 [root@localhost mnt] cd /opt[root@localhost opt] cd nginx-1.12.2/ //进入nginx安装包目录[root@localhost nginx-1.12.2] ./configure \--prefix=/usr/local/nginx \ //指定安装路径--user=nginx \ //指定程序用户--group=nginx \ //指定组--with-http_stub_status_module //关联状态统计模块 [root@localhost nginx-1.12.2] make && make install //配置、安装[root@localhost nginx-1.12.2] cd /usr/local/nginx/sbin //进入nginx安装后的命令目录[root@localhost sbin] ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //建立软链接到sbin目录[root@localhost sbin] nginx //执行开启服务[root@localhost conf]# netstat -ntap | grep 80 //查看服务端口是否开启 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 31755/nginx: master [root@localhost sbin] systemctl stop firewalld.service //关闭防火墙[root@localhost sbin] setenforce 0 //关闭增强性安全功能[root@localhost sbin] yum install elinks -y //安装检测网站工具[root@localhost sbin] elinks http://localhost //检测网站是否开启
优化运行控制
[root@localhost sbin]# vim /etc/init.d/nginx //编辑运行控制脚本#!/bin/bash# chkconfig: - 99 20# description: Nginx Service Control ScriptPROG="/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 1esacexit 0:wq[root@localhost sbin]# cd /etc/init.d[root@localhost init.d]# chmod +x nginx //给脚本添加执行权限[root@localhost init.d]# chkconfig --add nginx //将脚本添加到系统环境[root@localhost init.d]# service nginx start //使用service控制服务开启
配置文件
- 全局配置
#user nobody;worker processes 1;#error_ log logs/error.log;#pid logs/nginx.pid;
I/0
事件配置
events { use epoll; worker_connections 4096;}
HTTP
配置
http { ...... access_log logs/access.log main; sendfile on; ...... keepalive_timeout 65; server { listen 80; server name www.bt.com; charset utf-8; location / { root html; index index.html index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html;}}}
Nginx的访问状态统计
启用HTTP STUB STATUS状态统计模块
- 配置编译参数时添加
--with-http_ stub_ status_ module
nginx -V
查看已安装的Nginx
是否包含HTTP_ STUB_ _STATUS
模块
[root@localhost init.d]# cd /usr/local/nginx/conf/ //进入配置文件目录[root@localhost conf]# vim nginx.conf //编辑配置文件...//省略部分内容...server { listen 80; server_name www.kgc.com; //编辑域名 charset utf-8; //编辑字符串格式为utf-8 #access_log logs/host.access.log; //注释access日志文件 location / { root html; index index.html index.htm; } location /status { stub_status on; //开启功能统计模块 access_log off; }...//省略部分内容...:wq //保存退出[root@localhost conf]# yum install bind -y //安装DNS服务[root@localhost conf]# vim /etc/named.conf //常规配置DNS功能...//省略部分内容...options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; };...//省略部分内容...:wq[root@localhost conf]# vim /etc/named.rfc1912.zones...//省略部分内容...zone "kgc.com" IN { type master; file "kgc.com.zone"; allow-update { none; };}; ...//省略部分内容...:wq[root@localhost conf]# cd /var/named/[root@localhost named]# cp -p named.localhost kgc.com.zone[root@localhost named]# vim kgc.com.zone$TTL 1D@ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1www IN A 192.168.144.133:wq[root@localhost named]# systemctl start named[root@localhost named]# service nginx stop[root@localhost named]# service nginx start
- 在客户机中打开浏览器输入域名
www.kgc.com/status
访问网站统计记录
授权的访问控制
- 配置步骤与Apache基本一致
- 生成用户密码认证文件
- 修改主配置文件对相应目录,添加认证配置项
- 重启服务,访问测试
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.confserver { listen 80; server_name www.kgc.com; charset utf-8; #access_log logs/host.access.log; location / { auth_basic "secret"; //插入设置密码验证 auth_basic_user_file /usr/local/nginx/passwd.db; //添加条目设置密码验证文件存放目录 root html; index index.html index.htm; } location /status { stub_status on; access_log off; }:wq[root@localhost ~]# yum install httpd-tools -y //安装生成密码设置文件已加载插件:fastestmirror, langpacksbase | 3.6 kB 00:00:00 extras | 2.9 kB 00:00:00 ...//省略部分内容...已安装: httpd-tools.x86_64 0:2.4.6-90.el7.centos 作为依赖被安装: apr.x86_64 0:1.4.8-5.el7 apr-util.x86_64 0:1.5.2-6.el7 完毕![root@localhost ~]# htpasswd -c /usr/local/nginx/passwd.db test01 //创建密码验证文件New password: //输入密码Re-type new password: //再次输入 Adding password for user test01 //创建用户成功[root@localhost ~]# cat /usr/local/nginx/passwd.db //查看创建的密码文件test01:$apr1$T22NmXdU$yE8iwUxpaHcR95ZNosCUK0 //用户密码信息[root@localhost ~]# service nginx stop //停止nginx服务[root@localhost ~]# service nginx start //启动nginx服务[root@localhost ~]# netstat -ntap | grep 80 //查看端口是否开启tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8624/nginx:
- 再客户机中测试授权访问控制
配置
文件
服务
密码
目录
内容
部分
用户
控制
统计
模块
网站
功能
源码
状态
脚本
编译
输入
运行
验证
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
英语网络安全词汇对照表
浙江正规网络技术
通讯网络技术员有前途吗
财经数据库软件
全国bim数据库网址
贵州服务器机柜生产厂家
计算机网络技术实训的目的
配置svn服务器
学计算机是学什么软件开发
集采数据库
大连天途461服务器故障
软件开发甲方终止合同
辽宁省信息网络安全协会
服务器ip防护等级
网络安全法处罚标准
服务器命令方块指令代码大全
猫耳庄园服务器群号
哪个魔域服务器好玩
电脑运营服务器命令
数据库ng是什么意思
北京麦盟软件开发
青岛定制软件开发服务费
四川诚信积分管理软件开发公司
航天集团 网络安全
软件开发前端加载时间过长
服务器安全保障方案
智森计算机软件开发
管理数据库文档
大话西游网络安全小品
电脑软件开发基本知识