Nginx网站服务相关配置

本文详细介绍了Nginx的配置与服务管理,包括Nginx的编译安装、主配置文件详解、访问状态统计、基于授权的访问控制、基于客户端的访问控制、基于域名的虚拟主机、基于端口的虚拟主机以及基于不同IP的虚拟主机。内容涵盖了Nginx的安装、配置优化、服务启动与管理以及不同场景下的虚拟主机配置。
摘要由CSDN通过智能技术生成


一、Nginx概述

一款高性能、轻量级Web服务软件稳定性高,系统资源消耗低,对HTTP并发连接的处理能力高,单台物理服务器可支持30000 ~ 50000个并发请求,占用内存少,并发能力强

二、编译安装Nginx 服务

1、关闭防火墙,将安装 ngnix 所需的软件包上传到 /opt 目录下
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

2、安装依赖包
(nginx 的配置及运行需要 pcre zlib 等软件包的支持,因此需要安装这些安装的开发包,以便提供相应的库和头文件)
yum -y install gcc gcc-c++ pcre-devel zlib-devel make

3、创建运行用户、组(Nginx 服务程序默认以 noboday 身份运行,建议为其创建专门的用户账号,以便更准确的控制其访问权限)
useradd -M -s /sbin/nologin/ nginx #-M 代表不创建家目录

4、编译安装 Nginx
tar zxvf nginx-1.12.2.tar.gz -C /opt/
cd /opt/nginx-1.12.2/
./configure
–prefix=/usr/local/nginx
–user=nginx
–group=nginx
–with-http_stub_status_module

#每行代表的意思
./configure
–prefix=/usr/local/nginx \ #指定nginx的安装路径
–user=nginx \ #指定用户名
–group=nginx \ #指定组名
–with-http_stub_status_module #启用 http_stub_ status_ module 模块以支持状态统计

make && make install

ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ #创建软链接便于系统管理,让系统识别nginx的操作命令

5、检查、启用、重启、停止 nginx服务
nginx -t #检查配置文件是否配置正确
在这里插入图片描述
cat /usr/local/nginx/logs/nginx.pid #首先查看nginx的PID号
kill -3 <PID号>
kill -s QUIT <PID号>
killall -3 nginx
killall -s QUIT nginx

----重载------
kill -1 <PID号>
kill -s HUP <PID号>
killall -1 nginx
killall -s HUP <PID号>

----日志分隔,重新打开日志文件-------
Kill -USR1 <PID号>

-----平滑升级------
kill -USR2 <PID号>

6、添加 Nginx 系统服务
方法一:
vim /etc/init.d/nginx
#!/bin/bash

chkconfig: - 99 20

description: Nginx Service Control Script

COM="/usr/local/nginx/sbin/nginx"
PID="/usr/local/nginx/logs/nginx.pid"
case “$1” in
start)
$COM
;;
stop)
kill -s QUIT $(cat $PID)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PID)
;;
*)
echo “Usage: $0 {start|stop|restart|reload}”
exit 1
esac
exit 0

chmod +x /etc/init.d/nginx
chkconfig --add nginx #添加为系统服务
systemctl stop nginx
systemctl start nginx

方法二:

vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile =/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

#每行意义
[Unit]
Description=nginx #描述
After=network.target #描述服务类别
[Service]
Type=forking #后台运行形势
PIDFile =/usr/local/nginx/logs/nginx.pid #PID文件位置
ExecStart=/usr/local/nginx/sbin/nginx #启动服务
ExecrReload=/bin/kill -s HUP $MAINPID #根据PID重载配置
ExecrStop=/bin/kill -s QUIT $MAINPID #根据PID终止进程
PrivateTmp=true
[Install]
WantedBy=multi-user.target

chmod 754 /lib/systemd/system/nginx.service #设置754权限是一种安全优化
systemctl start nginx.service
systemctl enable nginx.service
在这里插入图片描述

三、 Nginx 服务的主配置文件 nginx.conf

cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
vim /usr/local/nginx/conf/nginx.conf

1、全局配置

#user nobody; #运行用户,若编译时未指定则默认为 nobody
worker_ processes 1; #工作运行数量,可配置成服务器内核数*2,如果网站访问量不大,一般设为1就够用了
#error_log logs/error.log; #错误日志文件的位置
#pid logs/nginx.pid; #PID文件的位置
在这里插入图片描述

2、I/O事件配置

events {
use epoll; #使用 epoll 模型,2.6及以上版本的系统内核,建议使用 epoll 模型以提高性能
worker_connections 1024; #每个进程处理 4096 个连接
}
在这里插入图片描述

#如提高每个进程的连接数还需执行“ulimit -n 65535”命令临时修改本地每个进程可以同时打开的最大文件数。
#在Linux 平台上,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。
#可使用ulimit -a 命令查看系统允许当前用户进程打开的文件数限制。

3、HTTP 配置

http {
##文件扩展名与文件类型映射表
include mime.types;
##默认文件类型
default_type application/octet-stream;
##日志格式设定
#log_format main '$remote_addr - r e m o t e u s e r [

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值