淘宝客如何建设推广网站最好看免费观看高清大全一影视下载

news/2025/9/24 3:40:35/文章来源:
淘宝客如何建设推广网站,最好看免费观看高清大全一影视下载, 最新版天堂资源网在线,个人网站怎么做视频文章目录 01. Nginx 简介02. 正向代理和反向代理03. Nginx 和 Apache、Tomcat 之间的不同点04. Nginx 的优点05. Nginx 常用的功能特性06. Nginx 下载07. Nginx 安装1. 源码安装前的环境准备2. Nginx 源码简单安装方式3. Nginx yum 安装方式4. Nginx 源码复杂安装方式 08. Ngin… 文章目录 01. Nginx 简介02. 正向代理和反向代理03. Nginx 和 Apache、Tomcat 之间的不同点04. Nginx 的优点05. Nginx 常用的功能特性06. Nginx 下载07. Nginx 安装1. 源码安装前的环境准备2. Nginx 源码简单安装方式3. Nginx yum 安装方式4. Nginx 源码复杂安装方式 08. Nginx 目录结构分析09. Nginx 服务器启动和停止命令1. 信号控制 Nginx 服务器的启动和停止2. 命令行控制 Nginx 服务器的启动和停止 10. Nginx 服务器版本的升级和新增模块1. 环境准备2. 使用 Nginx 服务信号进行升级3. 使用 Nginx 安装目录的make命令完成升级 01. Nginx 简介 Nginx是一个高性能的Web服务器同时也是一个反向代理服务器。它最初是为了解决C10K问题而开发的即如何让一个服务器同时处理成千上万个并发连接。Nginx采用了事件驱动的异步非阻塞处理方式能够高效地处理大量并发连接因此被广泛应用于高并发的Web应用场景中。 此外Nginx还可以作为POP3/SMTP/IMAP代理服务器用于代理邮件服务器的请求和响应。这使得Nginx可以在一台服务器上同时运行多个服务提高了服务器的利用率。 02. 正向代理和反向代理 正向代理和反向代理是两种不同的代理模式它们的作用和实现方式不同。 正向代理Forward Proxy是客户端通过代理服务器访问互联网资源的方式。在这种模式下客户端向代理服务器发送请求代理服务器再将请求转发给互联网上的服务器最后将响应结果返回给客户端。正向代理的作用是隐藏客户端的真实IP地址保护客户端的隐私同时可以加速访问速度缓存常用资源等。 反向代理Reverse Proxy是服务器通过代理服务器向客户端提供服务的方式。在这种模式下客户端向代理服务器发送请求代理服务器根据请求的内容将请求转发给后端的服务器集群中的某一台服务器最后将响应结果返回给客户端。反向代理的作用是隐藏后端服务器的真实IP地址提高系统的安全性同时可以实现负载均衡、缓存加速、SSL/TLS加密等功能。 总的来说正向代理是客户端通过代理服务器访问互联网资源反向代理是服务器通过代理服务器向客户端提供服务。两者的作用和实现方式不同但都可以提高系统的安全性和性能。 03. Nginx 和 Apache、Tomcat 之间的不同点 Nginx、Apache和Tomcat都是常见的Web服务器它们之间有以下不同点 ① 设计理念不同Nginx采用事件驱动的异步非阻塞处理方式能够高效地处理大量并发连接Apache采用多进程或多线程的方式处理请求适合处理静态资源Tomcat则是一个Java Servlet容器主要用于处理动态Web应用。 ② 功能不同Nginx主要用于反向代理、负载均衡、静态文件服务、SSL/TLS加密等Apache除了支持反向代理和负载均衡外还支持动态内容生成、模块化扩展等Tomcat则是一个完整的Java Web应用服务器支持Java Servlet和JavaServer PagesJSP等技术。 ③ 配置方式不同Nginx的配置文件采用类似于编程语言的语法配置简单灵活Apache的配置文件采用基于XML的语法配置相对复杂Tomcat的配置文件采用基于XML的语法配置相对简单。 ④ 性能不同Nginx在高并发的Web应用场景中表现出色能够高效地处理大量并发连接Apache在处理静态资源时表现出色但在高并发场景下性能较差Tomcat在处理动态Web应用时表现出色但在高并发场景下性能也较差。 综上所述Nginx、Apache和Tomcat都有各自的优缺点选择哪种Web服务器取决于具体的应用场景和需求。 04. Nginx 的优点 Nginx具有以下几个主要的优点 ① 高性能Nginx采用事件驱动的异步非阻塞处理方式能够高效地处理大量并发连接。它的设计目标是解决C10K问题能够处理成千上万个并发连接适用于高并发的Web应用场景。 ② 资源消耗低相比传统的多线程模型Nginx的进程和线程模型更轻量占用的系统资源更少。它能够以较少的内存和CPU资源处理更多的并发请求提高服务器的利用率。 ③ 高可靠性Nginx具有良好的稳定性和可靠性。它能够处理异常情况如网络故障、后端服务器宕机等并提供健壮的错误处理机制。此外Nginx还支持热部署可以在不中断服务的情况下进行配置和软件更新。 ④ 灵活的配置和扩展性Nginx的配置文件采用类似于编程语言的语法配置简单灵活。它支持模块化的架构可以通过加载不同的模块来扩展功能如反向代理、负载均衡、缓存加速、SSL/TLS加密等。 ⑤ 支持丰富的功能除了作为Web服务器和反向代理服务器Nginx还具备其他功能如负载均衡、动态HTTP内容缓存、虚拟主机配置、URL重写、访问控制等。这些功能使得Nginx适用于各种复杂的应用场景。 综上所述Nginx以其高性能、低资源消耗、高可靠性、灵活的配置和丰富的功能而备受青睐成为许多大型网站和应用的首选Web服务器和反向代理服务器。 05. Nginx 常用的功能特性 Nginx具有多种功能特性以下是一些常用的功能 ① 静态文件服务Nginx可以快速、高效地提供静态文件的访问如HTML、CSS、JavaScript、图片等。它可以通过配置简单的静态文件目录直接响应客户端的请求减轻后端服务器的负载。 ② 反向代理Nginx可以作为反向代理服务器将客户端的请求转发给后端的多个服务器实现负载均衡和高可用性。它可以根据配置的规则将请求分发到不同的后端服务器提高系统的性能和可靠性。 ③ 负载均衡Nginx支持多种负载均衡算法如轮询、IP哈希、最少连接等。通过将请求分发到多个后端服务器Nginx可以平衡服务器的负载提高系统的性能和可扩展性。 ④ 动态HTTP内容缓存Nginx可以缓存动态生成的HTTP内容减少后端服务器的负载和响应时间。它可以根据配置的规则缓存特定的URL或响应提高系统的性能和响应速度。 ⑤ SSL/TLS加密支持Nginx可以提供安全的HTTPS连接支持SSL/TLS协议保护数据的传输安全。它可以配置和管理SSL证书实现加密通信和安全认证。 ⑥ 虚拟主机配置Nginx支持虚拟主机的配置可以在一台服务器上托管多个域名或网站。通过配置不同的虚拟主机Nginx可以根据请求的域名将请求分发到不同的网站或应用程序。 ⑦ URL重写和重定向Nginx可以通过配置URL重写规则实现URL的重写和重定向。它可以将请求的URL进行修改实现友好的URL结构和搜索引擎优化。 ⑧ 访问控制和安全性Nginx支持基于IP地址、用户代理、请求方法等进行访问控制可以限制特定的客户端或请求。它还支持防止恶意请求、DDoS攻击等安全性功能。 除了上述功能Nginx还支持HTTP/2协议、WebSocket协议、gzip压缩、日志记录、HTTP身份验证等。这些功能使得Nginx成为一个强大而灵活的Web服务器和反向代理服务器。 06. Nginx 下载 ① Nginx的官方网站为http://nginx.org ② Nginx的官方下载网站为http://nginx.org/en/download.html ③ Nginx源码获取http://nginx.org/download/ 07. Nginx 安装 Nginx的安装方式有两种分别是: 通过Nginx源码简单安装 (1)通过yum安装 (2)通过Nginx源码复杂安装 (3) 1. 源码安装前的环境准备 ① 安装 GCC Nginx是使用C语言编写的程序因此想要运行Nginx就需要安装一个编译工具。GCC就是一个开源的编译器集合用于处理各种各样的语言其中就包含了C语言。 # 安装 [root192 ~]# yum install -y gcc # 查看是否安装成功 [root192 ~]# gcc --version② 安装 PCRE Nginx在编译过程中需要使用到PCRE库perl Compatible Regular Expressoin 兼容正则表达式库)因为在Nginx的Rewrite模块和http核心模块都会使用到PCRE正则表达式语法。 # 安装 [root192 ~]# yum install -y pcre pcre-devel # 查看是否安装成功 [root192 ~]# rpm -qa pcre pcre-devel③ 安装 zlib zlib库提供了开发人员的压缩算法在Nginx的各个模块中需要使用gzip压缩所以我们也需要提前安装其库及源代码zlib和zlib-devel # 安装 [root192 ~]# yum install -y zlib zlib-devel # 查看是否安装成功 [root192 ~]# rpm -qa zlib zlib-devel④ OpenSSL OpenSSL是一个开放源代码的软件库包应用程序可以使用这个包进行安全通信并且避免被窃听。 SSLSecure Sockets Layer安全套接协议的缩写可以在Internet上提供秘密性传输其目标是保证两个应用间通信的保密性和可靠性。在Nginx中如果服务器需要提供安全网页时就需要用到OpenSSL库所以我们需要对OpenSSL的库文件及它的开发安装包进行一个安装。 # 安装 [root192 ~]# yum install -y openssl openssl-devel # 查看是否安装成功 [root192 ~]# rpm -qa openssl openssl-devel⑤ 上述命令一个个来的话比较麻烦我们也可以通过一条命令来进行安装 [root192 ~]# yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel2. Nginx 源码简单安装方式 ① 进入官网查找需要下载版本的链接地址然后使用wget命令进行下载 [root192 ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz② 将下载的资源进行包管理将下载的资源放在目录nginx/core目录下 [root192 ~]# mkdir -p nginx/core [root192 ~]# mv nginx-1.16.1.tar.gz nginx/core [root192 ~]# cd nginx/core③ 解压缩 [root192 core]# tar -xzf nginx-1.16.1.tar.gz [root192 core]# ls nginx-1.16.1 nginx-1.16.1.tar.gz④ 进入资源文件中发现 configure [root192 core]# cd nginx-1.16.1 [root192 nginx-1.16.1]# ls auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src [root192 nginx-1.16.1]# ./configure⑤ 编译和安装 [root192 nginx-1.16.1]# make make install⑥ 查看nginx的安装目录 [root192 nginx-1.16.1]# cd /usr/local/nginx/ [root192 nginx]# ll drwx------. 2 nobody root 6 4月 12 07:23 client_body_temp drwxr-xr-x. 2 root root 4096 8月 6 16:43 conf drwx------. 2 nobody root 6 4月 12 07:23 fastcgi_temp drwxr-xr-x. 2 root root 40 4月 12 07:19 html drwxr-xr-x. 2 root root 58 8月 28 22:00 logs drwx------. 2 nobody root 6 4月 12 07:23 proxy_temp drwxr-xr-x. 2 root root 36 8月 28 22:18 sbin drwx------. 2 nobody root 6 4月 12 07:23 scgi_temp drwx------. 2 nobody root 6 4月 12 07:23 uwsgi_temp [root192 nginx]#⑦ 启动 nginx [root192 nginx]# cd sbin [root192 sbin]# ll -rwxr-xr-x 1 root root 3825520 8月 28 22:18 nginx -rwxr-xr-x. 1 root root 3892016 4月 12 07:20 nginx.old [root192 sbin]# ./nginx nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)⑧ 可以看到启动报错了因为80端口占用因为我之前安装并启动过nginx # 查找占用80端口的进程 [root192 sbin]# lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 1075 root 6u IPv4 29234 0t0 TCP *:http (LISTEN) nginx 1078 nobody 6u IPv4 29234 0t0 TCP *:http (LISTEN) # 停止占用80端口的进程 [root192 sbin]# kill -9 1075 [root192 sbin]# sudo lsof -i :80⑨ 重新启动 nginx: [root192 sbin]# ./nginx [root192 sbin]# sudo lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 6484 root 6u IPv4 67768 0t0 TCP *:http (LISTEN) nginx 6485 nobody 6u IPv4 67768 0t0 TCP *:http (LISTEN)查看nginx的欢迎页面是否可以访问 3. Nginx yum 安装方式 Nginx官网提供的yum安装教程http://nginx.org/en/linux_packages.html#RHEL ① 安装 yum-utils [root192 sbin]# sudo yum install -y yum-utils② 添加 yum 源文件 [root192 sbin]# vi /etc/yum.repos.d/nginx.repo [root192 sbin]# cat /etc/yum.repos.d/nginx.repo [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck1 enabled1 gpgkeyhttps://nginx.org/keys/nginx_signing.key module_hotfixestrue[nginx-mainline] namenginx mainline repo baseurlhttp://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck1 enabled0 gpgkeyhttps://nginx.org/keys/nginx_signing.key module_hotfixestrue③ 使用yum进行安装 [root192 sbin]# yum install -y nginx④ 查看nginx的安装位置 [root192 sbin]# whereis nginx nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/local/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz⑥ 启动测试 [root192 sbin]# cd /usr/sbin [root192 sbin]# ./nginx nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) [root192 sbin]# sudo lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 6484 root 6u IPv4 67768 0t0 TCP *:http (LISTEN) nginx 6485 nobody 6u IPv4 67768 0t0 TCP *:http (LISTEN) [root192 sbin]# kill -9 6484 [root192 sbin]# kill -9 6485 [root192 sbin]# sudo lsof -i :80 [root192 sbin]# ./nginx4. Nginx 源码复杂安装方式 ① 进入简单安装的安装目录 [root192 nginx-1.16.1]# pwd /root/nginx/core/nginx-1.16.1 [root192 nginx-1.16.1]# ls auto CHANGES CHANGES.ru conf configure contrib html LICENSE Makefile man objs README src [root192 nginx-1.16.1]# ./configure --help② 复杂安装方式和简单的安装配置不同的地方在第一步通过./configure来对编译参数进行设置需要我们手动来指定认识一些简单的PATH路径配置 –prefixPATH指向Nginx的安装目录默认值为 /usr/local/nginx –sbin-pathPATH指向(执行)程序文件(nginx)的路径,默认值为 /sbin/nginx –modules-pathPATH指向Nginx动态模块安装目录默认值为 /modules –conf-pathPATH指向配置文件(nginx.conf)的路径,默认值为 /conf/nginx.conf –error-log-pathPATH指向错误日志文件的路径,默认值为 /logs/error.log –http-log-pathPATH指向访问日志文件的路径,默认值为 /logs/access.log –pid-pathPATH指向Nginx启动后进行ID的文件路径默认值为 /logs/nginx.pid –lock-pathPATH指向Nginx锁文件的存放路径,默认值为 /logs/nginx.lock ③ 将之前服务器已经安装的nginx进行卸载卸载的步骤分为三步骤 # 需要将nginx的进程关闭 [root192 nginx-1.16.1]# cd /usr/local/nginx/sbin [root192 sbin]# ./nginx -s stop # 将安装的nginx进行删除 [root192 sbin]# rm -rf /usr/local/nginx # 将安装包之前编译的环境清除掉 [root192 usr]# cd ~/nginx/core/nginx-1.16.1 [root192 nginx-1.16.1]# make clean rm -rf Makefile objs④ 通过./configure来对编译参数进行设置 [root192 nginx-1.16.1]# ./configure --prefix/usr/local/nginx \--sbin-path/usr/local/nginx/sbin/nginx \--modules-path/usr/local/nginx/modules \--conf-path/usr/local/nginx/conf/nginx.conf \--error-log-path/usr/local/nginx/logs/error.log \--http-log-path/usr/local/nginx/logs/access.log \--pid-path/usr/local/nginx/logs/nginx.pid \--lock-path/usr/local/nginx/logs/nginx.lock[root192 nginx-1.16.1]# make make install⑤ 启动测试 [root192 nginx]# cd /usr/local/nginx/sbin [root192 sbin]# ./nginx nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) [root192 sbin]# lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 7638 root 6u IPv4 75732 0t0 TCP *:http (LISTEN) nginx 7639 nginx 6u IPv4 75732 0t0 TCP *:http (LISTEN) [root192 sbin]# kill -9 7638 [root192 sbin]# kill -9 7639 [root192 sbin]# ./nginx [root192 sbin]# ./nginx -V nginx version: nginx/1.16.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) configure arguments: --prefix/usr/local/nginx --sbin-path/usr/local/nginx/sbin/nginx --modules-path/usr/local/nginx/modules --conf-path/usr/local/nginx/conf/nginx.conf --error-log-path/usr/local/nginx/logs/error.log --http-log-path/usr/local/nginx/logs/access.log --pid-path/usr/local/nginx/logs/nginx.pid --lock-path/usr/local/nginx/logs/nginx.lock08. Nginx 目录结构分析 通过yum install -y tree来进行安装tree工具通过tree我们可以很方面的去查看centos系统上的文件目录结构 [root192 sbin]# tree /usr/local/nginx/ /usr/local/nginx/ ├── client_body_temp ├── conf │ ├── fastcgi.conf │ ├── fastcgi.conf.default │ ├── fastcgi_params │ ├── fastcgi_params.default │ ├── koi-utf │ ├── koi-win │ ├── mime.types │ ├── mime.types.default │ ├── nginx.conf │ ├── nginx.conf.default │ ├── scgi_params │ ├── scgi_params.default │ ├── uwsgi_params │ ├── uwsgi_params.default │ └── win-utf ├── fastcgi_temp ├── html │ ├── 50x.html │ └── index.html ├── logs │ ├── access.log │ ├── error.log │ └── nginx.pid ├── proxy_temp ├── sbin │ └── nginx ├── scgi_temp └── uwsgi_temp① confnginx所有配置文件目录 cgi (Common Gateway Interface)通用网关【接口】主要解决的问题是从客户端发送一个请求和数据服务端获取到请求和数据后可以调用调用CGI【程序】处理及相应结果给客户端的一种标准规范。 fastcgi.conffastcgi相关配置文件fastcgi.conf.defaultfastcgi.conf的备份文件fastcgi_paramsfastcgi的参数文件fastcgi_params.defaultfastcgi的参数备份文件scgi_paramsscgi的参数文件scgi_params.defaultscgi的参数备份文件uwsgi_paramsuwsgi的参数文件uwsgi_params.defaultuwsgi的参数备份文件mime.types记录的是HTTP协议中的Content-Type的值和文件后缀名的对应关mime.types.defaultmime.types的备份文件nginx.conf这个是Nginx的核心配置文件nginx.conf.defaultnginx.conf的备份文件 ② html存放nginx自带的两个静态的html页面 50x.html访问失败后的失败页面index.html成功访问的默认首页 ③ logs记录入门的文件当nginx服务器启动后这里面会有 access.log error.log 和nginx.pid三个文件出现。 # 查看nginx的错误日志 [root192 sbin]# tail -f /usr/local/nginx/logs/error.log 2023/08/29 21:21:37 [error] 11898#0: *1 open() /usr/local/nginx/html/acv failed (2: No such file or directory), client: 192.168.38.1, server: localhost, request: GET /acv HTTP/1.1, host: 192.168.38.33④ sbinnginx 的可执行文件所在的目录可以通过该文件启动、停止和重启 Nginx 服务器。 09. Nginx 服务器启动和停止命令 1. 信号控制 Nginx 服务器的启动和停止 Nginx安装完成后接下来我们要看下如何启动、重启和停止Nginx的服务。对于Nginx的启停在linux系统中也有很多种方式主要有两种Nginx服务的信号控制、Nginx的命令行控制。 ① Nginx中的master和worker进程 Nginx默认采用的是多进程的方式来工作的Nginx后台进程中包含一个master进程和多个worker进程master进程主要用来管理worker进程包含接收外界的信息并将接收到的信号发送给各个worker进程监控worker进程的状态当worker进程出现异常退出后会自动重新启动新的worker进程。而worker进程则是专门用来处理用户请求的每个worker进程都是独立的它们之间没有共享内存也不会相互干扰。每个worker进程都会处理一部分客户端请求然后将处理结果返回给客户端。 当将Nginx启动后我们通过ps -ef | grep nginx命令可以查看到如下内容 [root192 sbin]# ./nginx [root192 sbin]# ps -ef | grep nginx root 67744 1 0 21:27 ? 00:00:00 nginx: master process ./nginx nobody 67745 67744 0 21:27 ? 00:00:00 nginx: worker process root 67777 2727 0 21:27 pts/0 00:00:00 grep --colorauto nginxnginx的进程模型可以通过下图来说明 作为管理员只需要通过给master进程发送信号就可以来控制Nginx,这个时候我们需要有两个前提条件一个是要操作的master进程一个是信号。 ② 如何获取nginx master进程的PID? 要想操作Nginx的master进程就需要获取到master进程的进程号ID可以通过下面两种方式获取 (1) 通过ps -ef | grep nginx 命令获取 [root192 sbin]# ps -ef | grep nginx root 67744 1 0 21:27 ? 00:00:00 nginx: master process ./nginx nobody 67745 67744 0 21:27 ? 00:00:00 nginx: worker process root 67777 2727 0 21:27 pts/0 00:00:00 grep --colorauto nginx(2) 通过查看 /usr/local/nginx/logs/nginx.pid 文件来获取 nginx 的 master 进程ID [root192 sbin]# cat /usr/local/nginx/logs/nginx.pid 67744③ 信号有哪些? Nginx 是一款常用的 Web 服务器和反向代理服务器它支持多种信号可以通过发送不同的信号来控制 Nginx 的运行状态。以下是常用的信号 singal TERMINT优雅地关闭 Nginx等待当前请求处理完成后再关闭。QUIT立即关闭 Nginx不等待当前请求处理完成。HUP重新加载配置文件会先关闭旧的工作进程再启动新的工作进程。USR1重新打开日志文件可以用于日志切割。USR2平滑升级 Nginx 可执行文件可以用于不停机更新 Nginx。WINCH从容关闭旧的工作进程用于平滑升级 Nginx。 可以使用 kill 命令向 Nginx 进程发送信号其中nginx_pid 是 Nginx master进程的 PIDsingal为信号 kill singal nginx_pid(1) 发送TERM信号给master进程会将Nginx服务优雅关闭 [root192 sbin]# ps -ef | grep nginx root 67744 1 0 21:27 ? 00:00:00 nginx: master process ./nginx nobody 67745 67744 0 21:27 ? 00:00:00 nginx: worker process root 68955 2727 0 21:57 pts/0 00:00:00 grep --colorauto nginx [root192 sbin]# kill -TERM 67744[root192 sbin]# ./nginx [root192 sbin]# kill -TERM cat /usr/local/nginx/logs/nginx.pid(2) 发送QUIT信号给master进程master进程会控制所有的work进程不再接收新的请求等所有请求处理完后在把进程都关闭掉。 [root192 sbin]# ./nginx [root192 sbin]# ps -ef | grep nginx root 69172 1 0 22:01 ? 00:00:00 nginx: master process ./nginx nobody 69173 69172 0 22:01 ? 00:00:00 nginx: worker process root 69175 2727 0 22:01 pts/0 00:00:00 grep --colorauto nginx [root192 sbin]# kill -QUIT 69172[root192 sbin]# ./nginx [root192 sbin]# kill -QUIT cat /usr/local/nginx/logs/nginx.pid(3) 发送HUP信号给master进程master进程会把控制旧的work进程不再接收新的请求等处理完请求后将旧的work进程关闭掉然后根据nginx的配置文件重新启动新的work进程 [root192 sbin]# ps -ef | grep nginx root 69262 1 0 22:03 ? 00:00:00 nginx: master process ./nginx nobody 69263 69262 0 22:03 ? 00:00:00 nginx: worker process root 69311 2727 0 22:05 pts/0 00:00:00 grep --colorauto nginx [root192 sbin]# kill -HUP 69262 [root192 sbin]# ps -ef | grep nginx root 69262 1 0 22:03 ? 00:00:00 nginx: master process ./nginx nobody 69318 69262 0 22:05 ? 00:00:00 nginx: worker process root 69320 2727 0 22:05 pts/0 00:00:00 grep --colorauto nginx可以看到 worker 进程的进程号变了。 (4) 发送USR1信号给master进程告诉Nginx重新开启日志文件 [root192 logs]# ls access.log error.log nginx.pid [root192 logs]# rm -rf error.log [root192 logs]# rm -rf access.log [root192 logs]# ls nginx.pid [root192 logs]# kill -USR1 cat /usr/local/nginx/logs/nginx.pid [root192 logs]# ls access.log error.log nginx.pid(5) 发送WINCH信号给master进程,让master进程控制不让所有的work进程在接收新的请求了请求处理完后关闭work进程。注意master进程不会被关闭掉 [root192 sbin]# ./nginx [root192 sbin]# ps -ef | grep nginx root 69699 1 0 22:13 ? 00:00:00 nginx: master process ./nginx nobody 69700 69699 0 22:13 ? 00:00:00 nginx: worker process root 69704 2727 0 22:13 pts/0 00:00:00 grep --colorauto nginx [root192 sbin]# kill -WINCH cat /usr/local/nginx/logs/nginx.pid [root192 sbin]# ps -ef | grep nginx root 69699 1 0 22:13 ? 00:00:00 nginx: master process ./nginx root 69709 2727 0 22:14 pts/0 00:00:00 grep --colorauto nginx(6) 发送USR2信号给master进程告诉master进程要平滑升级这个时候会重新开启对应的master进程和work进程整个系统中将会有两个master进程并且新的master进程的PID会被记录在/usr/local/nginx/logs/nginx.pid而之前的旧的master进程PID会被记录在/usr/local/nginx/logs/nginx.pid.oldbin文件中接着再次发送QUIT信号给旧的master进程让其处理完请求后再进行关闭 [root192 sbin]# ./nginx [root192 sbin]# ps -ef | grep nginx root 69968 1 0 22:20 ? 00:00:00 nginx: master process ./nginx nobody 69969 69968 0 22:20 ? 00:00:00 nginx: worker process root 69971 2727 0 22:20 pts/0 00:00:00 grep --colorauto nginx [root192 sbin]# kill -USR2 cat /usr/local/nginx/logs/nginx.pid [root192 sbin]# ps -ef | grep nginx root 69968 1 0 22:20 ? 00:00:00 nginx: master process ./nginx nobody 69969 69968 0 22:20 ? 00:00:00 nginx: worker process root 70009 69968 0 22:20 ? 00:00:00 nginx: master process ./nginx nobody 70010 70009 0 22:20 ? 00:00:00 nginx: worker process root 70014 2727 0 22:20 pts/0 00:00:00 grep --colorauto nginx [root192 sbin]# kill -QUIT 69968 [root192 sbin]# ps -ef | grep nginx root 70009 1 0 22:20 ? 00:00:00 nginx: master process ./nginx nobody 70010 70009 0 22:20 ? 00:00:00 nginx: worker process root 70056 2727 0 22:21 pts/0 00:00:00 grep --colorauto nginx2. 命令行控制 Nginx 服务器的启动和停止 此方式是通过Nginx安装目录下的sbin下的可执行文件nginx来进行Nginx状态的控制我们可以通过nginx -h来查看都有哪些参数可以用 [root192 sbin]# nginx -h nginx version: nginx/1.24.0 Usage: nginx [-?hvVtTq] [-s signal] [-p prefix][-e filename] [-c filename] [-g directives]Options:-?,-h : this help-v : show version and exit-V : show version and configure options then exit-t : test configuration and exit-T : test configuration, dump it and exit-q : suppress non-error messages during configuration testing-s signal : send signal to a master process: stop, quit, reopen, reload-p prefix : set prefix path (default: /etc/nginx/)-e filename : set error log file (default: /var/log/nginx/error.log)-c filename : set configuration file (default: /etc/nginx/nginx.conf)-g directives : set global directives out of configuration file ① 参数说明 -?和-h显示帮助信息 -v打印版本号信息并退出 -V打印版本号信息和配置信息并退出 -t测试nginx的配置文件语法是否正确并退出 -T测试nginx的配置文件语法是否正确并列出用到的配置文件信息然后退出 -q在配置测试期间禁止显示非错误消息 -ssignal信号后面可以跟 stop 快速关闭类似于TERM/INT信号的作用quit 优雅的关闭类似于QUIT信号的作用reopen类似于USR1信号的作用重新打开日志文件reload类似于HUP信号的作用重新加载配置文件 -pprefix指定Nginx的prefix路径(默认为: /usr/local/nginx/) -cfilename指定Nginx的配置文件路径(默认为: conf/nginx.conf) -g用来补充Nginx配置文件向Nginx服务指定启动时应用全局的配置。 ② 快速关闭和启动 Nginx 服务器 [root192 sbin]# ./nginx -s stop [root192 sbin]# ps -ef | grep nginx root 70300 2727 0 22:27 pts/0 00:00:00 grep --colorauto nginx [root192 sbin]# ./nginx [root192 sbin]# ./nginx -s reload③ 指定Nginx的配置文件路径 [root192 conf]# cp nginx.conf abc.conf# 在abc.conf中添加一行aaa代表这个配置文件有语法错误 [root192 conf]# vi abc.conf# 测试指定nginx配置文件是否有语法错误,使用参数-t和-c [root192 sbin]# ./nginx -tc /usr/local/nginx/conf/abc.conf nginx: [emerg] unknown directive aaa in /usr/local/nginx/conf/abc.conf:3 nginx: configuration file /usr/local/nginx/conf/abc.conf test failed10. Nginx 服务器版本的升级和新增模块 如果想对Nginx的版本进行更新或者要应用一些新的模块最简单的做法就是停止当前的Nginx服务然后开启新的Nginx服务。但是这样会导致在一段时间内用户是无法访问服务器。为了解决这个问题我们就需要用到Nginx服务器提供的平滑升级功能。这个也是Nginx的一大特点使用这种方式就可以使Nginx在7*24小时不间断的提供服务了。接下来我们分析下需求 Nginx的版本最开始使用的是Nginx-1.14.2由于服务升级需要将Nginx的版本升级到Nginx-1.16.1要求Nginx不能中断提供服务。 为了应对上述的需求这里有两种解决方案: zz使用Nginx服务信号完成Nginx的升级 ② 用Nginx安装目录的make命令完成升级 1. 环境准备 ① 先准备两个版本的Nginx分别是 1.14.2和1.16.1 ② 使用Nginx源码安装的方式将1.14.2版本安装成功并正确访问。 # 进入安装目录 ./configure make make install③ 将Nginx1.16.1进行参数配置和编译不需要进行安装。 # 进入安装目录 ./configure make 2. 使用 Nginx 服务信号进行升级 ① 将1.14.2版本的sbin目录下的nginx进行备份 cd /usr/local/nginx/sbin mv nginx nginxold② 将Nginx1.16.1安装目录编译后的objs目录下的nginx文件拷贝到原来/usr/local/nginx/sbin目录下 cd ~/nginx/core/nginx-1.16.1/objs cp nginx /usr/local/nginx/sbin③ 发送信号USR2给Nginx的1.14.2版本对应的master进程 ④ 发送信号QUIT给Nginx的1.14.2版本对应的master进程 kill -QUIT more /usr/local/logs/nginx.pid.oldbin3. 使用 Nginx 安装目录的make命令完成升级 ① 将1.14.2版本的sbin目录下的nginx进行备份 cd /usr/local/nginx/sbin mv nginx nginxold② 将Nginx1.16.1安装目录编译后的objs目录下的nginx文件拷贝到原来/usr/local/nginx/sbin目录下 cd ~/nginx/core/nginx-1.16.1/objs cp nginx /usr/local/nginx/sbin③ 进入到安装目录执行make upgrade ④ 看是否更新成功 ./nginx -v在整个过程中其实Nginx是一直对外提供服务的。并且当Nginx的服务器启动成功后我们是可以通过浏览器进行直接访问的同时我们可以通过更改html目录下的页面来修改我们在页面上所看到的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914745.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有没有什么排版的网站夹江移动网站建设

其实就这么一个插件:Image2Mesh https://github.com/kedepot/i2m-std blender加载完图片之后点这个就行 到了这一步还不行如果直接放到unity中使用的话,添加材质和贴图之后每一个小块都是独立的区域来展示贴图,所以需要展UV

做的好的有哪些网站wordpress 标签 中文

Buffer 用途:缓冲通常用于临时存储数据,以平衡不同速度的数据传输过程直接的差异。它可以用来解决数据传输速度不匹配的问题。 例如: 当您在观看视频时,视频播放器会缓冲一段时间的视频数据,以便在网络速度慢或不稳定…

德州网站建设哪家专业威海优化公司立找2火星

文章目录 0 前言1 课题意义1.1 股票预测主流方法 2 什么是LSTM2.1 循环神经网络2.1 LSTM诞生 2 如何用LSTM做股票预测2.1 算法构建流程2.2 部分代码 3 实现效果3.1 数据3.2 预测结果项目运行展示开发环境数据获取 最后 0 前言 🔥 优质竞赛项目系列,今天…

前端开发网站开发wordpress 注册页

如果要使用或仅通过Spring Boot检查Spring的最新版本,但当前的Spring Boot版本取决于旧的Spring版本,则需要稍微调整Gradle构建配置。 例如,在撰写本文时,Spring 4.2.1和Spring Boot 1.2.5是当前版本。 Spring Boot 1.2.5依赖于S…

贵阳有哪些做网站的公司seo网页优化包括哪些内容

创建版本库(又名仓库,repository),可以理解为一个仓库,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者…

外卖网站建设价钱徐州在线制作网站

来源:百度地图“新基建”浪潮下,智慧城市的建设和发展进一步提速,作为智慧城市数字基础设施的地理信息系统,其数据体量也极大增长,对海量GIS数据集成、存储、管理、计算、表达、分析和应用等有关技术的创新发展提出了急…

西宁集团网站建设办公软件培训

使用 reduce 方法去重 使用 reduce 方法结合 contains 方法可以实现去重。reduce 方法用于将数组的元素进行累积计算,而 contains 方法用于检查元素是否已经存在于结果数组中。 struct SearchRecord: Equatable {let id: Intlet name: String }let records [Sear…

福田设计网站网站建设属于哪类工作

软考-系统架构设计师-2021年上午选择题真题 考试时间 8:30 ~ 11:00 150分钟 1.前趋图(Precedence Graph)是一个有向无环图,记为:→(Pi,Pj)Pi must Complete Before Pj may strat), 假设系统中进程P{P1, P2,P3,P4, P5, P6, P7, P8}, 且进程的…

中国外贸导航网企业网站seo多少钱

01、Thymeleaf 官网地址:Thymeleafhttps://www.thymeleaf.org/ 简介 Thymeleaf是一种服务器端Java模板引擎,用于将数据渲染为HTML、XML、JavaScript等格式,并在Web浏览器中呈现给用户。 具体来说,Thymeleaf充当着视图层的角色&…

seo优化一般包括哪些搜索引擎优化包括( )方面的优化

package cn.com.dom4j.sort;public class QuickSort {/**快速排序在 Java中, 快速排序被用作基本数据类型的排序 (当然, 不只快速排序一种)快速排序是实践中的一种快速的排序算法, 在 C或对 Java基本类型的排序证特别有用.它的平均运行时间是 O(N logN), 该算法之所以特别快, 主…

东莞网站seo公司哪家大知名网站建设公司 北京

--更长寿命、更高速度、更优功耗 目录 --更长寿命、更高速度、更优功耗 1.LGA-8封装: 2.工业级SLC存储颗粒: 3.高IOPS性能: 4.健康状态侦测(Smart Function): 5.内嵌ECC校验、坏块管理、垃圾回收、磨损平均算法等功能。 6…

做单页网站男女做那个网站

试卷代号:1253座位号rn国家开放大学(中央广播电视大学)2017 年春季学期"开放本科"期末考试C 语言程序设计试题2017 年 6 月E自一、单项选择题(把合适的选项编号填写在括号内。每小题 2 分,共28 分)l. C 语言中的选择类语句有两条,它们是( )。A…

iis 网站建设中app建设网站

Ubuntu22.04部署K8s集群 一、基础环境准备1.1 VMware Workstation Pro 17.01.2 Ubuntu22.04 二、系统环境配置2.1 设置Master与工作节点的机器名称及配置2.2 解析主机2.3 虚拟内存swap分区关闭2.4 开启IPv4转发2.5 设置时间同步2.6 开启防火墙的端口(可选&#xff0…

好看的电商网站模板下载郑州做网站和推广哪家好

文章目录 前言一、代码设计框图二、IIC_drive模块设计2.1、模块接口:2.2、代码功能描述:2.3、IIC协议实现过程: 三、EEPROM_ctrl模块设计3.1、模块接口:3.2、代码功能描述 四、EEPROM_drive模块五、iic_top模块 前言 继上一篇FPG…

高碑店市建设局网站WordPress分页加载更多ajax

ScordCloud cakewolk band in a box 水果 FL Studio Chordana Composer LogicX Pro转载于:https://www.cnblogs.com/passby/p/4561627.html

建网站价格 建设网站需要多少钱广州外贸网站咨询

文章目录 使用场景问题现象解决处理 使用场景 我们使用docker作为服务的虚拟化工具,服务都部署在docker里我们使用docker-compose管理所有docker服务的配置文件针对某些服务,我们要限制这个docker服务容器占用的资源数量,例如cpu和内存在进行…

上海卫生人才网官网重庆seo教程

机器学习分类与性能度量 数据集:训练集(Training Set)、验证集(Validation Set)和测试集(Test Set) 1、 当模型无需人为设定超参数,所用参数都通过学习得到,则不需要验证集。验证集适合多个不同超参数训练多个模型,通过验证集,…

旅游网站建设方案书网络营销渠道的类型有哪些

目录 1. 网络拓扑1.1 配置思路1.2 数据准备2. 配置Underlay网络2.1 配置CE12.2 配置CE22.3 配置CE32.4 查看OSPF结果2.5 配置LSW12.6 配置LSW23. 配置Overlay网络二层互通(同网段)3.1 配置CE13.2 配置CE23.3 配置CE33.4 Server13.5 Server23.6 Server33.7 Server43.8 抓包分析…

AI 落地应用最新工具集

我们正处在一个历史性的拐点。人工智能不再仅仅是实验室里的前沿课题或科技巨头的炫技舞台,它正以前所未有的速度和广度,渗透到社会经济的每一个角落,从重塑行业格局到改变每个人的日常生活。这一波AI浪潮的核心特征…