Nginx:安装

来自Wikioe
跳到导航 跳到搜索


Linux安装

Nginx 需要几个依赖包,分别是 pcre,openssl,zlib,在安装 nginx 之前需要先安装这几个依赖。

rpm 包安装(推荐)

nginx rpm 包实际上安装的是 nginx 的 yum 源。

  1. 安装:
    # 下载
    wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    
    # 安装 nginx rpm 包
    rpm -ivh nginx-*.rpm
    
    # 正式安装 rpm 包
    yum install nginx
    
  2. 关闭防火墙:
    $ firewall-cmd --zone=public --add-port=80/tcp --permanent
    $ firewall-cmd --reload
    

源码编译方式

  • Nginx 下载页面
  • Nginx 源码的编译依赖于 gcc 以及一些库文件,所以必须提前安装:(一般应该都有了吧)
    $ yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
    

步骤:

  1. 安装 pcre 依赖:
    # 下载
    wget -O /opt/pcre/pcre-8.37.tar.gz http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
    # 解压
    cd /opt/pcre
    tar -xvf pcre-8.37.tar.gz
    
    # 安装
    cd /opt/pcre/pcre-8.37
    ./configure
    make && make install
    
    # 查看安装的pcre版本号
    pcre-config --version
    
  2. 安装 nginx:
    # 下载
    wget -O /opt/nginx/nginx-1.20.1.tar.gz http://nginx.org/download/nginx-1.20.1.tar.gz
    # 解压
    cd /opt/nginx
    tar -xvf nginx-1.20.1.tar.gz
    
    # 安装
    cd /opt/nginx/nginx-1.12.2
    ./configure --with-http_stub_status_module --with-http_ssl_module --with-pcre=/opt/pcre/pcre-8.35
    make && make install
    
  3. 关闭防火墙:
    $ firewall-cmd --zone=public --add-port=80/tcp --permanent
    $ firewall-cmd --reload
    

启动

启动 nginx:(启动脚本在 /usr/local/nginx/sbin 文件夹下)

nginx


然后浏览器访问服务器 ip,nginx 默认端口是 80,出现以下页面则证明 nginx 安装成功:

Nginx:安装成功.png

Linux 开机自启动

Centos7 以上是用 Systemd 进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。

  • Systemd 服务文件以 .service 结尾。


  1. 如果是通过 rpm 包安装的,会自动创建 nginx.service 文件,直接用命令设置开机启动即可:
    $ systemctl enable nginx.service
    
  2. 如果采用源码编译方式,需要手动创建 nginx.service 文件。

Docker 安装

官网镜像: https://hub.docker.com/_/nginx/

  1. 下载镜像:
    docker pull nginx
    
  2. 启动容器:
    docker run --name my-nginx -p 80:80 -v /data/docker/nginx/logs:/var/log/nginx -v /data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
    
  3. 重新加载配置(目前测试无效,只能重启服务):
    docker exec -it my-nginx nginx -s reload
    
  4. 停止服务:
    docker exec -it my-nginx nginx -s stop 
    或者:
    docker stop my-nginx
    
  5. 重新启动服务:
    docker restart my-nginx
    

脚本安装

安装说明

  • 采用编译方式安装 Nginx, 并将其注册为 systemd 服务
  • 安装路径为:/usr/local/nginx
  • 默认下载安装 1.16.0 版本


  1. 默认安装:(执行以下任一命令即可)
    curl -o- https://gitee.com/turnon/linux-tutorial/raw/master/codes/linux/soft/nginx-install.sh | bash
    
    wget -qO- https://gitee.com/turnon/linux-tutorial/raw/master/codes/linux/soft/nginx-install.sh | bash
    
  2. 自定义安装:(下载脚本到本地,并按照以下格式执行)
    sh nginx-install.sh [version]
    

常用命令

# 启动
nginx  ## 通用
systemctl start nginx.service  ## 在 centos7+ 启动nginx服务
service nginx start  ## centos6+ 上启动nginx服务


# 停止
nginx -s stop  ## 粗鲁地停止:强制停止
nginx -s quit  ## 优雅地停止:在退出前完成已经接受的连接请求
systemctl stop nginx.service  ## 在centos7+ 停止nginx服务
service nginx stop  ## centos6+ 上停止nginx服务


# 重启
nginx -s reload  ## 通用
systemctl restart nginx.service  ## 在centos7+ 重启nginx服务
service nginx restart  ## centos6+ 上重启nginx服务



# 版本号
nginx -v  ## 显示 nginx 的版本
nginx -V  ## 显示 nginx 的版本,编译器版本和配置参数。

# 检查配置文件:
# 检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件
#(如果配置文件没有问题:"successful",否则"failed")
nginx -t

# 为 Nginx 指定一个配置文件来代替默认配置文件
nginx -c filename

# 重新打开日志文件
nginx -s reopen

# 帮助信息
nginx -h 
nginx -?
  • 使用“nginx”命令时需要进入 /usr/local/nginx/sbin 文件夹;


示例:

[root]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful