前言
C10k = 10000 concurrent connection处理10000个并发连接
安装
包管理器安装
1 | //Linux apt yum |
编译安装
1 | $ ./configue //预编译 |
使用Docker安装
1 | $ docker pull nginx |
服务启停
启动服务
1 | $ nginx |
没有提示消息即表明顺利启动,启动失败会有提示
浏览器输入
1 | localhost |
查看到默认欢迎页面即可
在命令行输入
1 | $ ps -ef|grep nginx |
可以查看Nginx的进程
Nginx的进程模型为master为主进程,负责读取和验证配置文件以及管理worker进程,worker进程为工作进程,负责处理实际的请求,worker文件可以有多个
1 | $ lsof -i:80 //查看端口的利用情况 后缀为只查看的端口 |
可以用如下命令停止服务器
1 | $ nginx -s stop |
静态站点部署
1 | $ nginx -V |
可以用来查看安装目录,编译参数等各种信息
也可以通过
1 | $ nginx -t |
来查看配置文件的位置
放在默认文件夹下即可
配置文件
修改配置文件后,需要使用命令来检查配置文件是否正确
1 | $ nginx -t |
worker_processes进程数量,保持同服务器CPU内核的数量相同是比较合适的,也可以设置为auto来自动配置进程数量
结构
1 | worker_processes auto; //全局块 设置 |
反向代理
代理服务端
1 | upstream backend{ |
修改完需重载配置文件
1 | $ nginx -s reload |
默认轮询的方式来代理
可以使用权重weight来分配负载均衡
ip_hash策略来使同一个客户端的请求分配到同一台服务器上,解决一些session的问题
https配置
http默认端口80,https默认端口443
使用openssl生成证书
生成私钥文件(private key)
1 openssl genrsa -out private.key 2048根据私钥生成证书签名请求文件
1 openssl req -new -key private.key -out cert.csr使用私钥对证书申请进行签名从而生成证书文件(pem文件)
1
2
3
4 openssl x509 -req -in cert.csr -out cacert.pem -signkey private.key
在配置文件中进行配置server{
listen 80;
server_name adf;
return 301 https://$server_name$request_url;
}
server{
listen 443 ssl;
server_name locahost; //一般填写自己的域名
ssl_certificate 路径;
ssl_certificate_key 路径;
//加密协议和算法相关的配置
ssl_session_timeout 5m; //缓存有效期
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:! aNULL:! MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
}
1 |
|
vue.conf
server{
listen 5173;
server_name locahost;
location /{
root 路径;
index index.html index.htm;
}
}
```