Nginx 学习记录
小布丁 2020-03-20 Nginx
# nginx 的安装
nginx 官网下载所需的版本
# 下载
wget http://nginx.org/download/nginx-1.16.1.tar.gz
# 解压
tar xzvf nginx-1.16.1.tar.gz
# 进入
cd nginx-1.16.1
# 检查依赖 并且设置安装目录
./configure --prefix=/usr/local/nginx-1.16.1
# 安装
make && make install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
检查依赖的过程中,可能会缺少某些依赖,都会有相对于的提示。列如: 缺少了pcre 可以执行 yum install pcre
or apt-get install pcre
如果提示有安装 还是缺少依赖 可以安装 xxx-devel -> yum install pcre-devel
or apt-get install pcre-devel
# nginx 启动与停止
# 进入安装目录
cd /usr/local/nginx-1.16.1
client_body_temp
conf # 配置文件
fastcgi_temp
html # 静态资源文件
logs # 日志相关文件
proxy_temp
sbin # 二进制启动程序
scgi_temp
uwsgi_temp # _temp 缓存文件夹
# 在安装目录--执行
./sbin/nginx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
可能会有如下信息输出---> 表示当前的80端口已经某些进程所占
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
netstat -antp 可以查看 当前进程的信息以及占用的端口的进程的pid
kill -9 pid 杀掉进程
# 查询当前进程的信息
ps aux | gerp nginx
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# nginx基于信号的控制
语法 kill 信号名称 进程pid
信号名称 | 作用 |
---|---|
TERM, INT | fast shutdown 立即杀掉进程 |
QUIT | 优雅的杀掉进程 |
HUP | 平滑的读取更改后的配置文件 |
USR1 | 切割日志文件 |
USR2 | 升级可执行文件 |
WINCH | 优雅的关闭进程配合USR2 做升级使用 |
nginx -s stop 停止
nginx -s reload 重读配置文件重启
nginx -s reopen 重启
# Nginx的配置
#全局大致的全快
worker_processes 1; # 工作进程数量,一般设置为CPU的个数 * CPU的核数
# 配置Nginx 进程与连接的特性
events {
# 一个子进程最大的云溪连接数量
worker_connections 1024;
}
# 配置Http 服务的区块
http{
# 服务一的配置
server{
}
# 服务二的配置
server{
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
基于域名的虚拟主机的配置
server{
listen 80; #监听的端口
server_name www.zhaohongbo910.top; # 监听的域名
# 设置相应的路径
location / {
root /var/www/zhaohongbo_top;
index index.html index.htm;
}
}
server{
listen 80;
server_name www.zhaohongbo910.com;
location / {
root /var/www/zhaohongbo_com;
index index.html index.htm;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
基于端口的虚拟主机配置
server{
listen 80; #监听的端口
server_name www.zhaohongbo910.top; # 监听的域名
# 设置相应的路径
location / {
root /var/www/zhaohongbo_top;
index index.html index.htm;
}
}
server{
listen 8080;
server_name www.zhaohongbo910.top;
location / {
root /var/www/zhaohongbo_top_8080;
index index.html index.htm;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22