1 下载
- 官网传送门
- 下载传送门
- 点击下载最新Windows-1.23版下载传送门
- 点击下载最新Linux-1.23版下载传送门
2 Windows安装
2.1 环境介绍
-
下载完成后解压缩
-
目录如下
-
配置文件地址:
.\nginx-1.23.2\conf\nginx.conf
,默认配置的nginx监听的端口为80,如果本地电脑的80端口有被占用,则需要调整端口。
2.2 确认端口是否被占用
- 启动服务前先查看80端口是否被占用,如果占用则关闭对应进程或者修改nginx默认端口
netstat -ano | findstr 0.0.0.0:80
2.3 启动nginx服务
.\nginx.exe
2.4 关闭nginx服务
- 快速停止(不推荐使用)
.\nginx.exe -s stop
- 有序停止(推荐使用)
.\nginx.exe -s quit
3 Linux安装
3.1 环境检查(历史是否安装)
- 检测进程
# 检索出带有nginx的进程
ps -ef |grep nginx
- 杀掉nginx进程
# 列出nginx相关的pid
ps -C nginx -o pid
# 杀掉对应的进程
kill -9 pid
- 查出并删除和nginx相关的文件
# 方法1 whereis
whereis nginx
# 或者方法2 find
find / -name nginx*
# 删除目录及文件
rm -rf */nginx
- 停掉开机自启
# 停掉自启
chkconfig nginx off
- 完全卸载(确认是否有相关依赖存留)
yum remove nginx
3.2 安装nginx所需依赖
# gcc是linux下的编译器,它可以编译 C,C++,Ada,Object C和Java等语言
# pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式
# zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip
# openssl是web安全通信的基石
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
3.3 安装
3.3.1 安装方式一YUM安装
yum -y install nginx
- 安装完后路径如下:
# 可执行程序文件
/usr/sbin/nginx
# 配置文件路径
/etc/nginx/nginx.conf
# 日志路径
/var/log/nginx
# 缓存路径
/var/cache/nginx
# PID目录
/var/run/nginx.pid
# 默认站点目录
/usr/share/nginx/html
- 启动nginx并设置开机自启
# 查看nginx安装版本
nginx -v
# 启动nginx
systemctl start nginx.service
# 设置开机自启
systemctl enable nginx.service
# 关闭开机自动启动
systemctl disable nginx
3.3.2 安装方式二源码编译安装
-
下载
tar.gz
安装包,点击下载- 也可以用
weget
:wgte https://nginx.org/download/nginx-1.23.2.tar.gz
- 也可以用
-
上传至目标服务器指定地址/目录
-
解压缩
tar xvf nginx-1.21.6.tar.gz
-
进入解压缩后的nginx目录
cd ./nginx
-
修改配置
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
-
编译源码
# 编译 make # 安装 make install
-
启动nginx
./nginx
4 Docker安装
5 常用命令
- 常用命令
# 停止Nginx
systemctl stop nginx
# 重启Nginx
systemctl restart nginx
# 重新加载Nginx
systemctl reload nginx
# 查看 Nginx 运行状态
systemctl status nginx
# Nginx 应用程序命令:
# 向主进程发送信号,重新加载配置文件,热重启
nginx -s reload
# 重启 Nginx
nginx -s reopen
# 快速关闭
nginx -s stop
# 等待工作进程处理完成后关闭
nginx -s quit
# 查看当前 Nginx 最终的配置
nginx -T
# 检查配置是否有问题
nginx -t
6 配置文件详解
# main段配置信息
user nginx; # 运行用户,默认即是nginx,可以不进行设置
worker_processes auto; # Nginx 进程数,一般设置为和 CPU 核数一样
error_log /var/log/nginx/error.log warn; # Nginx 的错误日志存放目录
pid /var/run/nginx.pid; # Nginx 服务启动时的 pid 存放位置
# events段配置信息
events {
use epoll; # 使用epoll的I/O模型(如果你不知道Nginx该使用哪种轮询方法,会自动选择一个最适合你操作系统的)
worker_connections 1024; # 每个进程允许最大并发数
}
# http段配置信息
# 配置使用最频繁的部分,代理、缓存、日志定义等绝大多数功能和第三方模块的配置都在这里设置
http {
# 设置日志模式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main; # Nginx访问日志存放位置
sendfile on; # 开启高效传输模式
tcp_nopush on; # 减少网络报文段的数量
tcp_nodelay on;
keepalive_timeout 65; # 保持连接的时间,也叫超时时间,单位秒
types_hash_max_size 2048;
include /etc/nginx/mime.types; # 文件扩展名与类型映射表
default_type application/octet-stream; # 默认文件类型
include /etc/nginx/conf.d/*.conf; # 加载子配置项
# server段配置信息
server {
listen 80; # 配置监听的端口
server_name localhost; # 配置的域名
# location段配置信息
location / {
root /usr/share/nginx/html; # 网站根目录
index index.html index.htm; # 默认首页文件
deny 172.168.22.11; # 禁止访问的ip地址,可以为all
allow 172.168.33.44;# 允许访问的ip地址,可以为all
}
error_page 500 502 503 504 /50x.html; # 默认50x对应的访问页面
error_page 400 404 error.html; # 同上
}
}