Nginx:安装
跳到导航
跳到搜索
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