Ngixn配置
一、安装
1. Ubuntu
安装准备文件
1
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
如果安装出错,可以尝试更新一下
apt-get具体问题具体分析1
sudo apt-get -y update
导入官方 Nginx 签名密钥,以便 apt 可以验证包的真实性。获取密钥:
1
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
验证下载的文件是否包含正确的密钥:
1
gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
输出完整密钥
1
2
3pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>如果签名不一致,请删除该文件。
在apt仓库设置稳定的Nginx版本
1
2
3echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list如果需要使用最新版的Nginx,运行以下命令
1
2
3echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list将我们的包设置为仓库首选
1
2echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx安装Nginx
1
2sudo apt update
sudo apt install nginx
2. Centos
安装准备
1
sudo yum install yum-utils
配置安装源,创建名为
/etc/yum.repos.d/nginx.repo以下内容的文件:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true安装
1
sudo yum install nginx
默认使用稳定 Nginx 包,如果需要使用最新版的Nginx,运行以下命令
1
sudo yum-config-manager --enable nginx-mainline
当提示接受 GPG 密钥时,验证指纹是否匹配
573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62,如果匹配,则接受它。
二、使用
1. 命令
启动
1
2
3
4
5
6
7nginx
如果不能启动则找到Nginx的安装位置
whereis nginx
启动 以实际位置为准
/usr/sbin/nginx查看是否启动
1
ps -aux | grep nginx
访问 (能看到Welcome to nginx!则启动正常)
1
curl http://localhost
停止
1
2
3nginx -s stop # 快速关机
或
nginx -s quit # 关闭重新加载配置文件
1
nginx -s reload
重新打开日志文件
1
nginx -s reopen
四、配置文件
1. 配置文件位置
1 | /etc/nginx/nginx.conf |
2. 配置文件内容
三部分
全局块:
1
worker_processes 1;
配置服务器整体运行的配置指令 比如 worker_processes 1;处理并发数的配置
这是 Nginx 服务器并发处理服务的关键配置,worker_processes 值越大,可以支持的并发处理量也越多,但是 会受到硬件、软件等设备的制约
events 块:
1
2
3events {
worker_connections 1024;
}影响 Nginx 服务器与用户的网络连接 比如 worker_connections 1024; 支持的最大连接数为 1024
http 块
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
# 监听端口
listen 80;
# 服务名称
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}这算是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。 需要注意的是:http 块也可以包括 http 全局块、server 块。
http块
http 全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。
server块
这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了 节省互联网服务器硬件成本。 每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。 而每个 server 块也分为全局 server 块,以及可以同时包含多个 locaton 块。 1、全局 server 块 最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或 IP 配置。 2、location 块 一个 server 块可以配置多个 location 块。 这块的主要作用是基于 Nginx 服务器接收到的请求字符串(例如 server_name/uri-string),对虚拟主机名称 (也可以是 IP 别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓 存和应答控制等功能,还有许多第三方模块的配置也在这里进行。


