精华内容
下载资源
问答
  • /usr/local/nginx/conf/目录下,通过ps -ef | grep nginx进行把进程关闭 然后进入源文件夹下 /usr/local/nginx-1.17.9/ 执行 ./configure --prefix=/usr/local/nginx --with-...

    申请域名,首先要先备案

    在这里插入图片描述

    申请成功之后会提供一个压缩下载文件,如下截图

    在这里插入图片描述

    打开nginx目录下面有两个 SSL 证书文件

    在这里插入图片描述
    将这两个文件上传至

    /usr/local/nginx/conf/目录下,通过ps -ef | grep nginx进行把进程关闭

    然后进入源文件夹下

    /usr/local/nginx-1.17.9/

    执行

    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module命令

    然后执行make,这里不要执行make install,否则就是覆盖安装

    然后备份原有已安装好的nginx

    cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

    然后将刚刚编译好的nginx覆盖掉原有的nginx

    cp ./objs/nginx /usr/local/nginx/sbin/

    然后启动nginx,仍可以通过命令查看是否已经加入成功

    cd /usr/local/nginx/sbin/

    ./nginx

    通过以下命令查看是否安装成功

    ./nginx -t 如下图所示

    在这里插入图片描述

    最后就是修改nginx.conf文件设置cd /usr/local/nginx/conf/

    vim nginx.conf

    添加一下:
    server {
    listen 443 ssl;
    server_name www.test.com; #填写绑定证书的域名
    ssl_certificate www.test.com.crt;
    ssl_certificate_key www.test.com.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
    ssl_prefer_server_ciphers on;
    location / {
    root html; #站点目录
    index index.html index.htm;
    }
    }

    重启nginx

    cd /usr/local/nginx/sbin/

    ./nginx -s reload

    重启 Nginx 之后,即可使用 https://www.test.com 来访问

    代理

    通过proxy_pass将请求地址代理到 http://test.com的80端口,可以在nginx中配置80端口的监听然后进入到前端项目
    		server {
            listen 443 ssl;
            server_name test.com; #填写绑定证书的域名
            ssl_certificate test.com.crt;
            ssl_certificate_key test.com.key;
            ssl_session_timeout 5m;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
            ssl_prefer_server_ciphers on;
            
    		location / {
    			proxy_pass http://test.com;
                proxy_redirect  off;     
                proxy_set_header        Host    $http_host;     
                proxy_set_header        X-Real-IP       $remote_addr;     
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;     
                proxy_set_header   Cookie $http_cookie;
                #proxy_cookie_path
                chunked_transfer_encoding       off;   
            }
         }
    

    80端口的监听 ,进入前端项目目录test

    server {
            listen       80;
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
            gzip  on;
            gzip_buffers 32 4K;
            gzip_comp_level 6;
            gzip_min_length 1000K;	
    		location / {
                root   html/test;
                index index.html;
                try_files $uri $uri/ /index.html;
    			#autoindex on;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            } 
        }
    

    若只申请了前端域名,后端没有域名,可以在nginx中监听一个开放的端口7500,前端项目通过https://test.com:7500/api/,然后代理到后端程序所在的端口,如果有websocket通信,则要进行设置nginx支持websocket的配置

    proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection “upgrade”; proxy_read_timeout 600s;#设置websocket的超时时间,默认为60s,我这里是设置了600s也就是10分钟

        server{
            listen 7500;
            server_name test.com;
            ssl on;
            ssl_certificate test.com.crt ;
            ssl_certificate_key test.com.key;
            ssl_session_timeout 5m;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
            ssl_prefer_server_ciphers on;
            location / {
    			proxy_pass http://localhost:7400;
    			proxy_http_version 1.1;
    			proxy_set_header Upgrade $http_upgrade;#开启支持websocket
    			proxy_set_header Connection "upgrade";#开启支持websocket
    			proxy_read_timeout 600s;#设置websocket超时时间
            }  
                       
        }
    

    nginx改完配置后,在前端部分中的websocket也要做相应的修改,将原先的ws修改为wss ,也可以做一个轮询的机制来进行达到长连接的目的

       initWebSocket() {
          //初始化weosocket
          let userId = localStorage.getItem('userId')
          const wsuri = `wss://test.com:7500/api/imserver/${userId}`
          this.soket = new WebSocket(wsuri)
          this.soket.onmessage = this.websocketonmessage
          this.soket.onopen = this.websocketonopen
          this.soket.onerror = this.websocketonerror
          this.soket.onclose = this.websocketclose
        },
        websocketonopen() {
          //连接建立之后执行send方法发送数据
          let actions = { test: 'test' }
          this.websocketsend(JSON.stringify(actions))
        },
        websocketonerror() {
          //连接建立失败重连
          this.initWebSocket()
          console.log('WebSocket连接发生错误')
        },
        websocketonmessage(e) {
         //	TODO
        },
        websocketsend(Data) {
          //数据发送
          console.log('WebSocket连接成功', Data)
          this.soket.send(Data)
        },
        websocketclose(e) {
          //关闭
          console.log(e)
          console.log('connection closed (' + e.code + ')')
        }
    

    轮询的机制

    		 var heartCheck = {
            timeout: 55000,        //比server端设置的连接时间稍微小一点,在接近断开的情况下以通信的方式去重置连接时间。
            serverTimeoutObj: null,
            reset: function(){
                clearTimeout(this.timeoutObj);
                clearTimeout(this.serverTimeoutObj);
                return this;
            },
            start: function(){
                var self = this;
                this.serverTimeoutObj = setInterval(function(){
                    if(websocket.readyState == 1){
                        console.log("发送消息保持连接");
                        websocket.send("ping");
                        heartCheck.reset().start();    // 如果获取到消息,说明连接是正常的,重置心跳检测
                    }else{
                        console.log("断开状态,尝试重连");
                        initWebSocket();
                    }
                }, this.timeout)
            }
        }
    
    展开全文
  • 关闭命令 查询nginx进程号: ...经过测试,该命令会自动kill掉nginx的父和子进程。推荐使用! 只用kill -9 主进程,只有主进程被kill,nginx进程还在!!! 快速停止: kill -TERM 主进程号 ...

    关闭命令

    查询nginx主进程号:

    ps-ef | grep nginx

    从容停止:

    kill -QUIT 主进程号

    经过测试,该命令会自动kill掉nginx的父和子进程。推荐使用! 只用kill -9 主进程,只有主进程被kill,nginx子进程还在!!!

    快速停止:

    kill -TERM 主进程号

    展开全文
  • CentOS自动安装nginx

    千次阅读 2017-04-24 00:29:46
    下载 nginx.rar 按照 readme.txt 操作即可 首次安装自动下载 开启:service nginx start 关闭:service nginx stop ...#关闭进程 killpids(){ pids=($(ps -ef | grep $1 | awk '{print $2}')) for p

    下载 nginx.rar 按照 readme.txt 操作即可

    首次安装自动下载

    开启:service nginx start

    关闭:service nginx stop

    安装位置:/etc/nginx


    贴出shell文件:


    #!/bin/sh
    
    #关闭进程
    killpids(){
      pids=($(ps -ef | grep $1 | awk '{print $2}'))
      for pid in ${pids[@]}; do
        echo "关闭进程: pid ${pid}"
        kill -9 ${pid}
      done
    }
    killpids nginx
    
    #uninstall old rpms
    rmrpms(){
      oldRpms=($(rpm -qa|grep $1))
      for oldRpm in ${oldRpms[@]}; do
        echo "旧版$1: ${oldRpm}"
        echo "删除..."
        yum -y remove $1 ${oldRpm}
      done
    }
    rmrpms nginx
    
    #删除
    rm -rf /etc/rc.d/init.d/nginx
    rm -rf /etc/logrotate.d/nginx
    rm -rf /etc/sysconfig/nginx
    rm -rf /etc/nginx
    rm -rf /usr/lib64/nginx
    rm -rf /usr/sbin/nginx
    rm -rf /usr/libexec/initscripts/legacy-actions/nginx
    rm -rf /usr/share/nginx
    rm -rf /var/log/nginx
    rm -rf /var/cache/nginx
    
    
    #install nginx
    echo "安装依赖"
    yum install -y pcre pcre-devel  
    yum install -y zlib zlib-devel  
    yum install -y openssl openssl-devel
    yum install -y python-daemon
    #查看CentOS版本号
    centosVersion=$(rpm -q centos-release)
    echo "CentOS版本:$centosVersion"
    if [[ $centosVersion =~ "-7-" ]]
      then
        echo "安装包:nginx-nr-agent-2.0.0-11.el7.ngx.noarch.rpm"
    	# http://nginx.org/packages/centos/7/noarch/RPMS/nginx-nr-agent-2.0.0-11.el7.ngx.noarch.rpm
    	rpm -ivh nginx-nr-agent-2.0.0-11.el7.ngx.noarch.rpm
      else
        echo "安装包:nginx-nr-agent-2.0.0-11.el6.ngx.noarch.rpm"
    	# http://nginx.org/packages/centos/6/noarch/RPMS/nginx-nr-agent-2.0.0-11.el6.ngx.noarch.rpm
    	rpm -ivh nginx-nr-agent-2.0.0-11.el6.ngx.noarch.rpm
    fi
    
    #设置YUM源
    repo='/etc/yum.repos.d/nginx.repo'
    rm -rf $repo
    touch $repo
    echo '[nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=0
    enabled=1' >> $repo
    
    #安装
    yum -y install nginx
    
    #启动并查看状态
    service nginx start
    service nginx status
    
    #开机启动
    echo ""
    echo "开机启动"
    chkconfig nginx on
    
    #修改端口号
    echo "端口号: 80"
    
    #显示版本
    echo "version:"
    rpm -qa|grep nginx
    echo ""
    
    #代理端口
    echo '若要代理8080端口,执行如下命令:
    \cp -f /usr/nginx/default.conf /etc/nginx/conf.d/'
    echo ""
    
    
    


    展开全文
  • Nginx

    2012-02-15 14:41:30
     配置文件nginx.conf改变,也可以不需要让nginx运行的进程自动关闭,也就是可以自动感应配置文件的变化 可以安全的对nginx进行升级和删除相关的模块 二、nginx的配置文件   user www-data; 使用的用户组 ...

    nginx读书总结

     

    一、nginx启动、停止、平滑停止

     

    •  配置文件nginx.conf改变,也可以不需要让nginx运行的进程自动关闭,也就是可以自动感应配置文件的变化
    • 可以安全的对nginx进行升级和删除相关的模块

    二、nginx的配置文件

     

    user www-data;          使用的用户组
    
    
      worker_processes  3;         指定工作进程数,一般是cpu总核数或者是总核数的两倍
    
    
      
      error_log  /var/log/nginx/error.log;     指定错误日志的路径,一般的级别有:debug| info | notice | warn | error | crit
    
    
      pid        /var/run/nginx.pid;     指定pid存放的路径
    
    
      
      events {
           worker_connections  1024;
           # multi_accept on;
      }
      
      http {
        include       /etc/nginx/mime.types;
     
        access_log  /var/log/nginx/access.log;
     
        sendfile        on;
       #tcp_nopush     on;
     
         #keepalive_timeout  0;
         keepalive_timeout  65;
         tcp_nodelay        on;
     
        gzip  on;
        gzip_disable "MSIE [1-6]\.(?!.*SV1)";
     
          include /etc/nginx/conf.d/*.conf;
          include /etc/nginx/sites-enabled/*;
      }
    
     

    worker_rlimit_nofile 8192 文件描述符

    #工作进程的最大连接数量,根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行
    worker_connections 4096;

     

    基于IP地址配置虚拟机

     

    一个网卡上绑定多个IP地址,这样能使单一的网卡同一个服务器上运行多个基于IP地址的虚拟主机,配置的步骤如下:

     

    1、先ifconfig命令查看

    2、/sbin/ifconfig eth0:1 192.168.22.23 broadcast 192.168.77.255 netmask 255.255.255.0 up

          /sbin/route add -host 192.168.22.23 dev eth0:1

    3、vi /etc/rc.local 系统启动也有效

    展开全文
  • 解决windows下的Nginx和php搭配 php-cgi.exe自动关闭退出问题。用压缩包内bat文件启动即可,路径要稍微修改一下。
  • RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭(CMD命令窗体)不会显示,但CMD命令窗体中运行的程序不会被关闭,特别是一些会挂住必须显示命令窗体的命令还真...
  • Nginx优化

    2017-03-10 13:40:00
    安装成功! 输入:systemctl start nginx 来启动nginx。 输入:systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会...ps -ef|grep nginx 查看nginx进程 原来安装好nginx之后,默认最大的并发...
  •  uwsgi进程关闭,.sock 文件就会消失,这时访问网站 Nginx 就会报错:   这时,我们需要进程管理软件管理 uwsgi 进程的运行了。Ubuntu 自带的 systemd 是最简单的方法,可以将我们的项目...
  • 一、配置nginx为windows服务 1. 下载nginx ...nginx -s reload 改变配置文件的时候,重启nginx工作进程,来时配置文件生效 nginx -s reopen 打开日志文件 2. 配置nginx服务 参考博文链接:https:/...
  • nginx的配置

    2018-04-15 05:10:00
    nginx.conf 的配置为例: user nobody ; 进程的启动用户 ...nginx 进程由 master and worker 组成,master 负责 读取配置文件,控制work 进程的开启和关闭,worker 进程负责处理客户端过来的访问...
  • supervisor可以用来监控管理子进程的启动关闭和异常退出后的自动启动。比如说nginx的异常停止,mysql的异常停止等等,都可以用supervisor来监控然后实现自动启动。宝塔面板默认集成了supervisor管理器1.1版本,在...
  • 但是他们都是在shell中运行的,如果关闭了终端,它就自动停止了。这显然不符合我们的需求,服务中断了还怎么服务用户啊。现在市面上流行的有几种解决方案,最简单的是使用nohup /data/wwwroot/build_app& 来实现...
  • 支持Nginx进程守护功能自动修复假死状态; 支持虚拟主机添加、修改、删除等设置; 支持Nginx和数据库端口更改; 支持现有端口检测,排查异常端口占用情况; 支持强制或常规重设数据库密码; 支持数据库特性由旧...
  • RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭。简单来说就是黑窗体(CMD命令窗体)不会显示,但CMD命令窗体中运行的程序不会被关闭,特别是一些会挂住必须显示...
  • 文章目录1.从官网通过wget命令将Nginx源码包下载到Linux上2....通过命令启动和关闭nginx:7.重读配置文件和关闭服务:8.查看进程和验证端口是否开启: 1.从官网通过wget命令将Nginx源码包下载到Linux上   Ngin...
  • 平滑重启nginx脚本和重启mysql脚本

    千次阅读 2012-05-29 10:57:50
    平滑重启nginx脚本和重启mysql脚本 ...这种方式的好处是实现“平滑重启”,在ps -aux中可以看到,nginx首先启动新进程,旧的进程仍然提供服务,在一段时间后,旧的进程服务结束就自动关闭,剩下新进程
  • master和worker进程机制master主进程启动woker进程,当重新加载配置文件时,会启动新的worker进程。当老的woker进程不处理新...则表示待关闭的worker进程不在接受新的http请求,当原有的http请求处理结束后,会自动退出
  • 这有两个作用:守护程序可以使用标准命令控制,更重要的是,它可以在系统启动时自动启动,并在系统关闭时停止。 System V scripts <br\>大多数基于Linux的操作系统使用System-V风格的init守护进程。 换句话说...
  • 结果ffmpeg很快就自动关闭了,日志里显示错误“rtmp server requested close”。 百度没有什么有用的结果。 检查了半天,突然想到是不是端口占用了 使用cmd命令netstat -ano查看端口情况 打开任务管理器的进程页...
  • 但某一时间段内全部请求均为返回 499,这显然不是所有客户端主动意识上的「关闭」,可能是因为客户端等待超时,自动关闭连接;加上 499 的时间段内包含部分 502,让我不得不怀疑: PHP 进程「死」了。
  • 8、修复特殊情况下,启用网马扫描功能出现进程卡死问题; 网站安全狗Linux-Nginx v2.4.2版更新日志 全面支持Nginx 1.10,后台防护功能优化 1. 全面支持Nginx 1.10版本。 2. 后台防护功能进一步优化。 3. 页面...
  • RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭。简单来说就是黑窗体(CMD命令窗体)不会显示,但CMD命令窗体中运行的程序不会被关闭,特别是一些会挂住必须显示...
  • 大家都知道,如果一个服务器接入大量的进程或者任务,很可能会造成卡顿,比如在使用EasyNVR进行视频直播分发时,nginx接入传输量比较大的视频流,会导致PC端的播放卡顿。 为了解决此种卡顿,我们在EasyNVR内设定...
  • 欢迎使用LNMP/Nginx 虚拟主机面板 - AMH   01) 简单: 简洁精致,支持ssh、web在线轻松管理维护虚拟主机、MySQL、FTP。...23、改进面板扩展程序,软件安装时间不受限制,同时关闭当前安装进程也不受影响。

空空如也

空空如也

1 2 3
收藏数 53
精华内容 21
关键字:

nginx进程自动关闭