“Nginx:安装”的版本间差异
跳到导航
跳到搜索
(→常用命令) |
|||
(未显示同一用户的5个中间版本) | |||
第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> | ||
# 安装 | # 安装 nginx: | ||
#: <syntaxhighlight lang="bash" highlight=""> | #: <syntaxhighlight lang="bash" highlight=""> | ||
# 下载 | # 下载 | ||
wget | wget -O /opt/nginx/nginx-1.20.1.tar.gz http://nginx.org/download/nginx-1.20.1.tar.gz | ||
# 解压 | # 解压 | ||
tar -xvf nginx-1. | 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=""> | ||
第45行: | 第76行: | ||
然后浏览器访问服务器 ip,nginx 默认端口是 '''80''',出现以下页面则证明 nginx 安装成功: | 然后浏览器访问服务器 ip,nginx 默认端口是 '''80''',出现以下页面则证明 nginx 安装成功: | ||
: [[File:Nginx:安装成功.png| | : [[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") | |||
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 源。
- 安装:
# 下载 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
- 关闭防火墙:
$ 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
步骤:
- 安装 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
- 安装 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
- 关闭防火墙:
$ firewall-cmd --zone=public --add-port=80/tcp --permanent $ firewall-cmd --reload
启动
启动 nginx:(启动脚本在 /usr/local/nginx/sbin 文件夹下)
nginx
然后浏览器访问服务器 ip,nginx 默认端口是 80,出现以下页面则证明 nginx 安装成功:
Linux 开机自启动
Centos7 以上是用 Systemd 进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。
- Systemd 服务文件以 .service 结尾。
- 如果是通过 rpm 包安装的,会自动创建 nginx.service 文件,直接用命令设置开机启动即可:
$ systemctl enable nginx.service
- 如果采用源码编译方式,需要手动创建 nginx.service 文件。
Docker 安装
官网镜像: https://hub.docker.com/_/nginx/
- 下载镜像:
docker pull nginx
- 启动容器:
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
- 重新加载配置(目前测试无效,只能重启服务):
docker exec -it my-nginx nginx -s reload
- 停止服务:
docker exec -it my-nginx nginx -s stop 或者: docker stop my-nginx
- 重新启动服务:
docker restart my-nginx
脚本安装
安装说明
- 采用编译方式安装 Nginx, 并将其注册为 systemd 服务
- 安装路径为:/usr/local/nginx
- 默认下载安装 1.16.0 版本
- 默认安装:(执行以下任一命令即可)
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
- 自定义安装:(下载脚本到本地,并按照以下格式执行)
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