“Nginx:安装”的版本间差异

来自Wikioe
跳到导航 跳到搜索
 
(未显示同一用户的4个中间版本)
第1行: 第1行:
[[category:Nginx]]
[[category:Nginx]]


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


=== 安装依赖 ===
=== rpm 包安装(推荐) ===
nginx rpm 包实际上安装的是 nginx 的 yum 源。
* [http://nginx.org/packages/ Nginx rpm 包下载页面]
 
# 安装:
#: <syntaxhighlight lang="bash" highlight="">
# 下载
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
</syntaxhighlight>
# 关闭防火墙:
#: <syntaxhighlight lang="bash" highlight="">
$ firewall-cmd --zone=public --add-port=80/tcp --permanent
$ firewall-cmd --reload
</syntaxhighlight>
 
=== 源码编译方式 ===
* [http://nginx.org/en/download.html Nginx 下载页面]
* Nginx 源码的编译依赖于 gcc 以及一些库文件,所以必须提前安装:(一般应该都有了吧)
*: <syntaxhighlight lang="bash" highlight="">
$ yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
</syntaxhighlight>
 
步骤:
# 安装 '''pcre''' 依赖:
# 安装 '''pcre''' 依赖:
#: <syntaxhighlight lang="bash" highlight="">
#: <syntaxhighlight lang="bash" highlight="">
# 下载
# 下载
wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
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
tar -xvf pcre-8.37.tar.gz


# 安装
# 安装
cd /opt/pcre/pcre-8.37
./configure
./configure
make && make install
make && make install
第19行: 第49行:
pcre-config --version
pcre-config --version
</syntaxhighlight>
</syntaxhighlight>
# 安装 openssl,zlib 等依赖:
# 安装 nginx:
#: <syntaxhighlight lang="bash" highlight="">
#: <syntaxhighlight lang="bash" highlight="">
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
</syntaxhighlight>
=== 安装 NginX ===
安装 nginx:
<syntaxhighlight lang="bash" highlight="">
# 下载
# 下载
wget https://nginx.org/download/nginx-1.9.9.tar.gz
wget -O /opt/nginx/nginx-1.20.1.tar.gz http://nginx.org/download/nginx-1.20.1.tar.gz
# 解压
# 解压
tar -xvf nginx-1.9.9.tar.gz
cd /opt/nginx
tar -xvf nginx-1.20.1.tar.gz


# 安装
# 安装
./configure
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
make && make install
</syntaxhighlight>
# 关闭防火墙:
#: <syntaxhighlight lang="bash" highlight="">
$ firewall-cmd --zone=public --add-port=80/tcp --permanent
$ firewall-cmd --reload
</syntaxhighlight>
</syntaxhighlight>


 
=== 启动 ===
启动 nginx:(启动脚本在 /usr/local/nginx/sbin 文件夹下)
启动 nginx:(启动脚本在 /usr/local/nginx/sbin 文件夹下)
<syntaxhighlight lang="bash" highlight="">
<syntaxhighlight lang="bash" highlight="">
第46行: 第77行:
然后浏览器访问服务器 ip,nginx 默认端口是 '''80''',出现以下页面则证明 nginx 安装成功:
然后浏览器访问服务器 ip,nginx 默认端口是 '''80''',出现以下页面则证明 nginx 安装成功:
: [[File:Nginx:安装成功.png|600px]]
: [[File:Nginx:安装成功.png|600px]]
=== Linux 开机自启动 ===
Centos7 以上是用 '''Systemd''' 进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。
* Systemd 服务文件以 '''.service''' 结尾。
# 如果是通过 rpm 包安装的,会自动创建 nginx.service 文件,直接用命令设置开机启动即可:
#: <syntaxhighlight lang="bash" highlight="">
$ systemctl enable nginx.service
</syntaxhighlight>
# 如果采用源码编译方式,需要手动创建 nginx.service 文件。
== Docker 安装 ==
官网镜像: https://hub.docker.com/_/nginx/
# 下载镜像:
#: <syntaxhighlight lang="bash" highlight="">
docker pull nginx
</syntaxhighlight>
# 启动容器:
#: <syntaxhighlight lang="bash" highlight="">
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
</syntaxhighlight>
# 重新加载配置(目前测试无效,只能重启服务):
#: <syntaxhighlight lang="bash" highlight="">
docker exec -it my-nginx nginx -s reload
</syntaxhighlight>
# 停止服务:
#: <syntaxhighlight lang="bash" highlight="">
docker exec -it my-nginx nginx -s stop
或者:
docker stop my-nginx
</syntaxhighlight>
# 重新启动服务:
#: <syntaxhighlight lang="bash" highlight="">
docker restart my-nginx
</syntaxhighlight>
== 脚本安装 ==
安装说明
* 采用编译方式安装 Nginx, 并将其注册为 systemd 服务
* 安装路径为:/usr/local/nginx
* 默认下载安装 1.16.0 版本
# 默认安装:(执行以下任一命令即可)
#: <syntaxhighlight lang="bash" highlight="">
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
</syntaxhighlight>
# 自定义安装:(下载脚本到本地,并按照以下格式执行)
#: <syntaxhighlight lang="bash" highlight="">
sh nginx-install.sh [version]
</syntaxhighlight>


== 常用命令 ==
== 常用命令 ==
常用命令:
<syntaxhighlight lang="bash" highlight="">
<syntaxhighlight lang="bash" highlight="">
# 启动
# 启动
第71行: 第156行:


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


# 检查配置文件(如果配置文件没有问题:"successful",否则"failed")
# 检查配置文件:
# 检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件
#(如果配置文件没有问题:"successful",否则"failed")
nginx -t
nginx -t
# 为 Nginx 指定一个配置文件来代替默认配置文件
nginx -c filename
# 重新打开日志文件
nginx -s reopen


# 帮助信息
# 帮助信息

2021年6月4日 (五) 04:21的最新版本


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