精华内容
下载资源
问答
  • 文章目录启动Nginx停止nginxservice 服务脚本Nginx 开机自启 启动Nginx nginx安装完成后,切换到nginx安装目录中的sbin目录(如果在执行 ./configure 没有指定额外的参数,则sbin目录为默认目录,否则切换到自定义...

    启动 Nginx

    nginx安装完成后,切换到nginx安装目录中的sbin目录(如果在执行 ./configure 没有指定额外的参数,则sbin目录为默认目录,否则切换到自定义目录),通过执行该目录下nginx编译后的二进制文件即可启动程序。

    cd /usr/local/nginx/sbin/nginx
    ./nginx
    

    执行上面的操作后,成功启动nginx,程序是没有任何提示的。我们可以使用ps命令查看nginx的运行状态,具体命令如下:

    ps -ef | grep nginx
    
    root      74751      1  0 19:51 ?        00:00:00 nginx: master process /usr/local/nginx/nginx
    nobody    74752  74751  0 19:51 ?        00:00:00 nginx: worker process
    nobody    74753  74751  0 19:51 ?        00:00:00 nginx: worker process
    nobody    74754  74751  0 19:51 ?        00:00:00 nginx: worker process
    nobody    74755  74751  0 19:51 ?        00:00:00 nginx: worker process
    root      77668  19244  0 20:51 pts/0    00:00:00 grep --color=auto nginx
    

    上面结果说明:

    前面5行分别是nginx主进程(master process)和工作进程(worker process),最后一行是grep nginx命令。当看到这两个nginx进程时,说明nginx已经启动。
    从第1列可以看出,nginx主进程以root用户运行,而工作进程以nobody用户运行,第二列显示了5个进程的ID(即PID),分别为:74751 74752 74753 74754和74755
    

    注意:进程数是由电脑本身的处理器数量以及在Nginx配置文件中指定的数量综合决定的,所以每个人看到的可能不一样。

    Nginx启动后,安装目录下,logs目录中会有ngxin.pid文件,可以使用 cat 命令查看进程号

    cd /usr/local/nginx/logs
    cat nginx.pid
    

    停止 Nginx

    当需要停止nginx服务时,有多种停止方式,可以根据需求才取不同的方式,具体如下:

    1). 立即停止服务

    nginx程序允许传递选项 -s 表示发送信号到主进程,如果后面跟上stop表示停止服务

    ./nginx -s stop
    

    2). 从容停止服务

    前面的stop是立即停止nginx服务,无论当前工作进程是否正在处理工作。而nginx提供的从容停止方式quit,是在完成当前工作任务后再停止,即平缓停止。

    ./nginx -s quit
    

    3). 通过kill 或 killall 命令杀死进程

    linux中提供了kill命令可以杀死进程,从而让指定的进程停止运行

    kill nginx主进程pid
    

    除了启动与停止nginx服务的操作,还有一些其他常用命令:

    命令说明
    nginx -s reload在nginx已经启动的情况下重新加载配置文件(平滑重启)
    nginx -s repopen重新打开日志文件
    nginx -c /特定目录/nginx.conf以特定目录下的配置文件启动nginx
    nginx -t检查当前配置文件是否正确
    nginx -t -c /特定目录/nginx.conf检测特定目录下的nginx配置文件是否正确
    nginx -v显示版本信息
    nginx -V显示版本信息和编译选项
    nginx -h显示 nginx 可以设置的参数(上面的参数都是从这个命令显示出来的)

    service 服务脚本

    Linux服务是可以通过service命令进行控制的,这能使我们在给nginx主进程发送信号以及查看操作nginx服务更加方便。在CentOS系统中,Service命令实际是调用/etc/init.d目录下的shell脚本,也就是说,如下两行命令其实等价的、

    #直接运行脚本
    /etc/init.d/network restart
    
    #通过service命令执行脚本
    service network restart
    

    在上面的命令中,network是shell脚本的文件名,restart是传递给脚本的参数。因此将nginx添加到系统服务中,只需要在/etc/init.d中编写一个文件名为nginx的shell脚本即可。

    注意:因为我们选用了编译源码安装 Nginx 的安装方式,所以在 /etc/init.d目录下没有对应的service 服务脚本,需要我们自己来创建。

    首先,在/etc/init.d/目录下创建nginx文件,实现nginx服务管理,提供start、 stop、 reload、 restart、 status5个参数

    vim /etc/init.d/nginx
    

    具体的脚本代码如下:

    #! /bin/bash
    
    #chkconfig:35 85 15
    
    DAEMON=/usr/local/nginx/sbin/nginx
    PID=/usr/local/nginx/logs/nginx.pid
    
    case "$1" in
      start)
          echo "Starting nginx daemon..."
          $DAEMON && echo "SUCCESS"  #开启nginx
      ;;
      stop)
          echo "Stopping nginx daemon..."
          $DAEMON -s quit && echo "SUCCESS"  #从容的停止nginx
      ;;
      reload)
          echo "Reloading nginx daemon..."
          $DAEMON -s reload && echo "SUCCESS"  #平滑重启nginx
      ;;
      restart)
          echo "Restarting nginx daemon..."
          if [ ! -f "$PID" ]; then
    	   ps -ef | grep nginx | awk 'NR<3{print "kill -9 "$2}' | sh
    	   sleep 3
    	   $DAEMON && echo "SUCCESS"                  #开启nginx
          else
    	   $DAEMON -s quit                            #从容的停止nginx
    	   sleep 3
         	   $DAEMON && echo "SUCCESS"                  #开启nginx
          fi
      ;;
      status)
          if [ ! -f "$PID" ]; then                  #因为nginx启动后会生成进程文件nginx.pid,这里通过判断进程文件是否存在,判断nginx是否启动
             echo "Nginx is not running..."
          else
             echo "Nginx is running..."
          fi
      ;;
      *)
          echo "Usage:service nginx (start|stop|restart|reload|status)"
          exit 2
      ;;
    esac
    

    代码解释:

    #! /bin.bash:通常写在shell脚本的开头,需要使用特殊表示符号#!定义解释此脚本的shell路径。以上代码的意思是这个脚本将使用bash环境执行。
    case语句:case语句通常用于多重分支语句匹配的情况,具体语法如下:
    
    case $变量名 in
         模式1)
           命令序列1
         ;;
         模式2)
           命令序列2
         ;;
         *)
           默认执行的命令序列
         ;;
    esac
    
    case语句必须以case开始 in结尾,中间的变量表示用户输入的字符,每个模式必须以右括号")"结束,双分号";;"结束命令序列,且匹配模式中可以使用方括号表示一个连续的范围,如[0-9],使用树杠符号“|”表示“或”;最后的“*)”是默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后的命令序列,最后case语句必须以esac结束。
    

    保存脚本文件后设置文件的执行权限

    chmod a+x /etc/init.d/nginx #  a+x ==> all user can execute  所有用户可执行
    

    生成的服务命令:

    service nginx start # 开启Nginx
    service nginx stop # 停止Nginx
    service nginx reload # 刷新Nginx
    service nginx restart # 重启Nginx
    service nginx status # 查看Nginx的状态
    

    Nginx 开机自启

    对于一个要经常使用的服务器而言,每次开机后,都需要用户手动开启一些服务较为麻烦,不过不要紧,Linux为我们准备了命令解决这个问题。我们可以通过chkconfig 命令完成 nginx 开机自启动的功能,chkconfig 命令的语法格式如下所示:

    chkconfig [--add] [--del] [--list] [系统服务]
    
    参数解释:
    --add:用于增加指定的系统服务(如nginx),设置该服务为开机自启动
    --del:用于删除指定的系统服务,取消该服务的开机自启动
    --list:用于列出系统所有的服务启动情况
    
    # 先将nginx服务加入chkconfig管理列表
    chkconfig --add /etc/init.d/nginx 
    
    # 设置终端模式开机启动
    chkconfig nginx on
    
    展开全文
  • 手动安装的nginx,该怎样设置开机自启动?参照《Nginx+Center OS 7.2 开机启动设置(转载)》,步骤如下: 1、在系统服务目录里创建nginx.service文件 vim /usr/lib/systemd/system/nginx.service 2、写入内容...

    设置开机启动

    手动安装的nginx,该怎样设置开机自启动?参照《Nginx+Center OS 7.2 开机启动设置(转载)》,步骤如下:

    1、在系统服务目录里创建nginx.service文件
     

    vim /usr/lib/systemd/system/nginx.service

    2、写入内容如下:

    [Unit]
    Description=nginx
    After=network.target
      
    [Service]
    Type=forking
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/usr/local/nginx/sbin/nginx -s reload
    ExecStop=/usr/local/nginx/sbin/nginx -s quit
    PrivateTmp=true
      
    [Install]
    WantedBy=multi-user.target

    [Unit]:服务的说明
    Description:描述服务
    After:描述服务类别
    [Service]服务运行参数的设置
    Type=forking是后台运行的形式
    ExecStart为服务的具体运行命令
    ExecReload为重启命令
    ExecStop为停止命令
    PrivateTmp=True表示给服务分配独立的临时空间
    注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
    [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

    3、设置开机自启动
     

    systemctl enable nginx.service

    4、查看nginx状态

    systemctl status nginx.service


    很奇怪,明明启动成功了,为什么显示Active: inactive (dead)?
    5、杀死nginx重启nginx

    pkill -9 nginx
    
    ps aux | grep nginx
    
    systemctl start nginx

    再次查看状态,变成了active,搞定。

    6、重启服务器
     

    reboot

    7、再次连接后,查看服务状态
     

    systemctl status nginx.service

    看到nginx已经启动,至此,nginx自启动配置成功。

    展开全文
  • Nginx 手动启动,关闭,开机自启 手动启动 去到nginx安装目录(解压目录)下,bin/nginx nginx -c nginx配置文件地址 例如 /usr/local/nginx/bin/nginx -c /usr/local/nginx/conf/nginx.conf 手动...

    个人博客:https://suveng.github.io/blog/​​​​​​​

    Nginx 手动启动,关闭,开机自启

    手动启动

    1. 去到nginx安装目录(解压目录)下,bin/nginx

      nginx -c nginx配置文件地址 
      

      例如

    /usr/local/nginx/bin/nginx -c /usr/local/nginx/conf/nginx.conf
    

    手动重启

    nginx -s reload
    

    手动关闭

    1. nginx -s stop
    2. nginx -s quit

    开机自启

    https://blog.csdn.net/king_kgh/article/details/79576813

    查看状态

    1. ps -e | grep nginx

    展开全文
  • Linux手动安装nginx

    2021-05-25 17:19:16
    本次以安装nginx-1.12.2为例 1、安装nginx之前需要安装如下素材: 2、安装 第一步,安装依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 第二步,下载并安装nginx安装包(nginx...

    本次以安装nginx-1.12.2为例


    1、首先说明一下,安装nginx之前需要安装如下素材:

    在这里插入图片描述

    2、开始安装

    • 第一步,安装依赖
    yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
    
    • 第二步,下载并安装nginx安装包(nginx官网:http://nginx.org/)

    在这里插入图片描述

    # 下载
    wget http://nginx.org/download/nginx-1.12.2.tar.gz
    # 解压缩
    tar -zxvf linux-nginx-1.12.2.tar.gz
    cd nginx-1.12.2/
    # 执行配置
    ./configure
    # 编译安装(默认安装在/usr/local/nginx)
    make
    make install
    

    3、使用

    安装成功后,会在/usr/local下创建/nginx/sbin目录,在/usr/local/nginx/sbin下会有一个nginx脚本文件。执行nginx命令需要进入到/usr/local/nginx/sbin目录下。

    • 启动nginx
    cd /usr/local/nginx/sbin
    ./nginx
    # 查看进程
    ps -ef | grep nginx
    

    在这里插入图片描述

    • nginx配置文件

    /usr/local/nginx/conf下有一个名为nginx.conf的文件,是nginx的配置文件,可以对nginx进行配置。

    • 防火墙配置
    # 开启防火墙,没有任何提示即开启成功
    systemctl start firewalld
    # 关闭防火墙
    systemctl stop firewalld
    # 查看防火墙开放的端口
    firewall-cmd --list-all
    

    查看防火墙状态,此时未开放80端口,无法访问。

    在这里插入图片描述

    # 开放80端口
    sudo firewall-cmd --add-port=80/tcp --permanent
    # 重启防火墙
    firewall-cmd --reload
    

    再次查看防火墙状态,发现80端口已经开放。

    在这里插入图片描述

    • 访问ip:80
      成功!!!

    在这里插入图片描述

    4、nginx常用命令

    上面也提到,执行nginx命令需要进入到/usr/local/nginx/sbin目录下。这一点需要注意。

    • 查看nginx版本号
    ./nginx -v
    
    • 启动
    ./nginx
    
    • 停止
    ./nginx -s stop
    
    • 重新加载
      修改配置文件后需要重加载,热部署配置文件,使修改生效。
    ./nginx -s reload
    

    参考:
    Linux下安装Nginx
    bilibili尚硅谷

    展开全文
  • 手动制作nginx 镜像

    2020-05-23 00:16:03
    手动制作nginx 镜像 ​ 由于容器启动和运行过程中是直接使用了宿主机的内核,所以没有直接调用过物理硬件,所以也不会涉及到硬件驱动,因此也用不上内核和驱动,另外有内核的那是虚拟机 ​ Docker 制作类似于虚拟机...
  • 手动安装nginx

    2013-05-16 08:47:30
    yum安装nginx不能自定义安装插件,而且版本比较旧(没有好的源),所以手动安装了 wget http://nginx.org/download/nginx-1.4.1.tar.gz tar -zxvf nginx-1.4.1.tar.gz ./configure --prefix=/usr/local/nginx-...
  • docker启动nginx及常见nginx配置

    千次阅读 2020-06-12 10:49:21
    简单启动 sudo docker run --name nginx_3000 -p 3000:80 -d nginx 可以在3000端口访问nginx,如下图: nginx相关目录 实际使用过程中,我们需要对nginx的转发规则等选项进行配置。docker版本的各个配置文件默认...
  • Linux下启动Nginx报错

    2021-06-13 11:48:31
    Linux下启动Nginx报错 启动nginx遇到 ./nginx: error while loading shared libraries: libpcre.so.0: cannot open shared objectfile: No such file or directory 的错误 原因分析: 通过错误可以看出缺少...
  • ubuntu 手动安装nginx

    2020-12-31 11:56:35
    NGINX编译安装 ubuntu系统安装使用 首先我们需要安装下面这些库 安装gcc g++的依赖库 sudo apt-get install build-essential sudo apt-get install libtool 安装pcre依赖库(http://www.pcre.org/) sudo apt-get ...
  • Nginx国内加速下载
  • centos7 手动安装nginx

    2018-08-21 20:53:20
    nginx使用C语言开发,在安装之前,需要先安装一些一些工具库 gcc-c++:nginx的源码编译需要该环境 pcre:Perl Compatible Regular Expressions,一个Perl库,可以解析正则表达,nginx中的http模块依赖此进行正则...
  • ubuntu18.04手动安装nginx

    2020-07-29 15:56:22
    前言 依赖环境以及安装包 查看是否有gcc编译环境 gcc -v 没有则要安装 apt install gcc 依赖包安装 apt-get install libpcre3 libpcre3-dev ...nginx 的 http 模块使用 pcre 来解析正则表达式,所
  • docker启动nginx镜像

    2020-02-21 12:19:39
    docker run --name nginx_80 -p 80:80 -v /opt/docker_dir/nginx_80/nginx.conf:/etc/nginx/nginx.conf -v /opt/docker_dir/nginx_80/log:/var/log/nginx -v /opt/docker_dir/nginx_80/...
  • ubuntu下手动搭建Nginx

    2017-12-20 17:02:51
    一、Nginx首先,安装nginx,博主这里使用的是阿里云Ubuntu-server镜像,centos稍有不同。第一步检查80端口是否被占用 netstat -ano | grep 80如果有,kill该进程,然后继续sudo apt-get install nginx等待安装完成,...
  • docker 启动 nginx 服务

    千次阅读 2019-01-28 16:28:00
    docker run -d -p 80:80 --restart=always nginx:latest 参数说明: run 启动某个镜像 ...--restart 重启模式,设置 always,每次启动 docker 都会启动 nginx 容器。 由于我本地没有 nginx:latest...
  • centos下手动安装nginx

    2020-06-29 20:01:41
    首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装 yum install gcc-c++ yum install ...
  • 1.下载其他需要的工具 yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl openssl-...mkdir -p /usr/local/nginx 3.下载Nginx cd /usr/local/nginx wget https://nginx.org/download/nginx-1.15.7.ta...
  • 1.随便启动一个nginx实例,只是为了复制出配置 如果没有对应的nginx版本,会自动去docker仓库下载 docker run -p 80:80 --name nginx -d nginx:1.10 2.将容器内的配置文件拷贝到当前文件。 我们将配置文件放到 ...
  • 以前是用phpstudy集成环境来开发php项目,现在想自己尝试一下手动搭建: 1.安装nginx 现在nginx很多衍生产品,最近进去找了好一会儿才找到: 下载地址: http://nginx.org/en/download.html 这个也是和普通软件一样...
  • Docker手动安装nginx+php

    2018-08-10 14:18:28
    拉取nginx镜像 docker pull nginx 运行nginx容器 sudo docker run -p 8080:80 -v $PWD/www:/usr/share/nginx/html --name mynginx -d nginx -d 后台运行容器并返回容器id -p 端口映射 将容器的80端口映射...
  • 手动安装nginx php mysql

    2016-11-13 15:57:16
    nginx 1.安装nginx所需的基本库 pcre 和 httpssl rpm -qa pcre pcre-devel #检查是否有安装 yum install pcre pcre-devel -y #安装库 rpm -qa openssl openssl-devel #检查是否有安装 yum install openssl ...
  • nginx (1):ubuntu下安装启动nginx

    千次阅读 2017-08-13 00:06:39
    1. 安装依赖$ sudo apt-get install gcc zlib1g-dev libpcre3 libpcre3-dev libssl-dev2. 下载nginx$ wget ...也可以手动下载:nginx官网 3. 解压并进入目录$ tar -xvf nginx-1.13.4.tar.gz $ c
  • Linux 开机启动nginx

    2017-04-24 14:35:53
    1、在 /etc/init.d/nginx 没有Nginx的话 就手动创建一个Nginx文件    #! /bin/sh # chkconfig: 2345 55 25 # Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and # run '...
  • ubuntu下安装启动nginx

    千次阅读 2017-11-20 17:12:09
    本文来自... 1. 安装依赖 $ sudo apt-get install gcc zlib1g-dev libpcre3 libpcre3-dev libssl-dev1 2. 下载nginx ...$ wget https://nginx.org/download/nginx-1.13.4.tar.gz1 ...也可以手动
  • 使用nginx -s reload重启时报如下错误:nginx: [error] open() “/var/run/nginx.pid” failed (2: No such file or directory)这是因为nginx进程被杀死后pid丢失了,下一次再开启nginx -s reload时无法启动解决办法...
  • 五、启动nginx 六:新增加模块的操作方法 一、下载源码 http://nginx.org/download/nginx-1.16.0.tar.gz 执行下面命令,下载源代码到/data目录下: cd /data && wget http://n...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,107
精华内容 14,442
关键字:

手动启动nginx