马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
目录
1、总结I/O模型
1.1同步I/O模型
1.2异步I/O模型
1.3多路复用I/O模型
1.4信号驱动I/O模型
2、编译安装nginx脚本
3、nginx平滑升级
3.1环境查抄
3.2预备新版本的源码
3.3编译新版本
3.4更换二进制文件
3.5验证新版本
3.6逐步切换到新版本
3.7查抄版本号
3.8检察服务是否正常
4、总结nginx核心设置,实现多虚拟主机
4.1nginx设置文件所在目录
4.2多虚拟主机
4.2.1基于端口的虚拟主机
4.2.2基于IP的虚拟主机
4.2.3基于域名的虚拟主机
5、定制日志 格式
6、基于nginx和python动态站点安装设置
1、总结I/O模型
1.1同步I/O模型
进程在执行I/O操作时会被壅闭,知道I/O操作完成时才会继承执行
1.2异步I/O模型
进程发起I/O哀求后,无需壅闭或轮询,可继承执行其他任务。当I/O操作完成时,体系通过回调或信号通知进程
1.3多路复用I/O模型
通过一个线程管理多个I/O连接的状态,制止为每个连接创建独立线程,淘汰资源开销。
1.4信号驱动I/O模型
应用程序通过注册信号处理惩罚函数,当I/O数据停当时,内核向进程发送信号,触发回调处理惩罚数据
2、编译安装nginx脚本
3、nginx平滑升级
3.1环境查抄
确认当前nginx版本
备份原文件
- cp /usr/sbin/nginx /usr/sbin/nginx.old
- cp -r /etc/nginx /etc/nginx.bak
复制代码 3.2预备新版本的源码
从官网获得与旧版本兼容的新版本源码
- wget http://nginx.org/download/nginx-1.25.0.tar.gz
- tar -zxvf nginx-1.25.0.tar.gz
- cd nginx-1.25.0/
复制代码 3.3编译新版本
- ./configure --prefix=/usr/local/nginx --with-http_ssl_module # 示例参数
- make # 仅编译,不执行make install
复制代码 3.4更换二进制文件
- kill -USR2 $(cat /var/run/nginx.pid) # 发送USR2信号给旧Master进程
复制代码 3.5验证新版本
- ps -ef | grep [n]ginx # 应看到新旧两个Master进程
复制代码 测试新版本正确性
- /usr/sbin/nginx -t -c /etc/nginx/nginx.conf
复制代码 3.6逐步切换到新版本
- kill -WINCH $(cat /var/run/nginx.pid.old) # 发送WINCH信号给旧Master进程
复制代码 3.7查抄版本号
3.8检察服务是否正常
- curl http://localhost && systemctl status nginx
复制代码 4、总结nginx核心设置,实现多虚拟主机
4.1nginx设置文件所在目录
主设置文件
子设置文件
- /etc/nginx/sites-enabled/default
复制代码 扩展设置文件
4.2多虚拟主机
4.2.1基于端口的虚拟主机
同一IP不同端口提供不同服务
- http {
- server {
- listen 80; # 监听端口80
- server_name _; # 通配所有域名
- root /var/www/web1; # 站点根目录
- index index.html; # 默认首页
- }
- server {
- listen 81; # 监听端口81
- server_name _;
- root /var/www/web2;
- index index.html;
- }
- }
复制代码 4.2.2基于IP的虚拟主机
服务器绑定多个IP,不同IP对应不同的站点
- http {
- server {
- listen 192.168.1.100; # 监听特定IP
- root /var/www/web1;
- }
- server {
- listen 192.168.1.101; # 监听另一IP
- root /var/www/web2;
- }
- }
复制代码 4.2.3基于域名的虚拟主机
同一IP+端口通过不同域名区分站点
- http {
- server {
- listen 80;
- server_name www.example.com; # 绑定域名
- root /var/www/example;
- location / {
- try_files $uri $uri/ =404;
- }
- }
- server {
- listen 80;
- server_name www.other.com; # 绑定另一域名
- root /var/www/other;
- location / {
- proxy_pass http://backend; # 反向代理至后端服务器
- }
- }
- }
复制代码 5、定制日志 格式
- vim /etc/nginx/conf.d/vhost.conf
- #添加如下内容
- server {
- listen 80 default_server;
- access_log /var/log/nginx/\${host}_access.log basic;
-
- location /web1/ {
- alias /data/server/nginx/web1/;
- }
- # 此资源记录json日志
 - location /json{
- access_log /var/log/nginx/\${host}_json_access.log json_basic;
- return 200 "json\n";
- }
- #不记录access log
- location /test{
- access_log off;
- return 200 "test\n";
- }
- }
复制代码 6、基于nginx和python动态站点安装设置
https://blog.csdn.net/m0_57215217/article/details/148355723?spm=1001.2014.3001.5501
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |