Linux 安装 nginx

在这里插入图片描述

正常是两种安装方式

  1. 一种是使用系统的包管理软件,比如centosyum -y install nginx命令(简单但不推荐,配置文件分散不易管理,且需要配置第三方源yum -y install epel-release等,如果是简单使用,配置文件什么的都不改,做一些测试使用之类的任务,还是比较方便的,总的来说,看自己需求)
  2. 第二种是通过源码编译安装的方式(推荐),可以自定义配置文件存放位置,自主选择安装版本等。
    前往nginx官网

文章目录

  • 1. 包管理软件安装
    • 1.1 redhat系列
    • 1.2 debian系列
  • 2. 源码安装
    • 2.1 选择需要的版本
    • 2.2 编译安装
      • 2.2.1获取源码
      • 2.2.2编译安装
    • 2.3 创建软链接
      • 2.3.1 四个目录
    • 2.4 设置自启动
      • 2.4.1新建nginx服务
      • 2.4.2验证自启动
      • 2.4.3启动失败
          • 2.4.3.1查看状态
          • 2.4.3.2检查端口占用
          • 2.4.3.3重启
          • 2.4.3.4检查状态
  • 3.常用命令
    • 3.1启动
    • 3.2停止
    • 3.3检查文件
    • 3.4重载配置文件
    • 3.5开启、停止、重启服务
  • 4. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
          • 4.1查看状态
          • 4.2检查端口占用
          • 4.3重启
          • 4.4检查状态
    • 补充:再不行就关掉防火墙(不推荐)

1. 包管理软件安装

Linux 安装 nginx_第1张图片

1.1 redhat系列

# 安装第三方源
yum -y install epel-release
# 安装nginx(安装源内最新版,不一定是官网最新版)
yum -y install nginx

1.2 debian系列

# 安装nginx(安装源内最新版,不一定是官网最新版)
apt -y install nginx

2. 源码安装

各Linux发行版本通用

2.1 选择需要的版本

nginx历史版本
Linux 安装 nginx_第2张图片
选择一个版本,比如1.8.0,在legacy versions中选中nginx-1.18.0右键选择复制链接地址
Linux 安装 nginx_第3张图片

2.2 编译安装

2.2.1获取源码

# 下载到本地:wget [复制的地址链接] -P [存放地址]
wget http://nginx.org/download/nginx-1.18.0.tar.gz -P /usr/local/src/
cd /usr/local/src
tar xzvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
# 查看帮助
./configure --help

2.2.2编译安装

# 下载环境依赖
yum -y install gcc pcre-devel openssl-devel zlib-devel

useradd -r -s /sbin/nologin nginx

# 下面一块是一个整体复制进终端(当前目录在:/usr/local/src/nginx-1.18.0)
./configure --prefix=/apps/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

# 编译安装
make -j 2 && make install
chown -R nginx.nginx /apps/nginx

2.3 创建软链接

ln -s /apps/nginx/sbin/nginx /usr/bin/
# 查看版本信息
nginx -v

2.3.1 四个目录

/apps/nginx
├── conf
├── html
├── logs
└── sbin

  1. conf 配置文件
  2. html web文件
  3. logs 日志信息
  4. sbin 可执行脚本

2.4 设置自启动

2.4.1新建nginx服务

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

# 复制下面到/usr/lib/systemd/system/nginx.service中
[Unit]
Description=The nginx HTTP and reverse proxy server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/apps/nginx/run/nginx.pid
ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target

mkdir /apps/nginx/run/
vim /apps/nginx/conf/nginx.conf

# 复制下面到/apps/nginx/conf/nginx.conf中(可以解开注释并修改,或者直接复制进去)
pid /apps/nginx/run/nginx.pid;

Linux 安装 nginx_第4张图片

2.4.2验证自启动

systemctl daemon-reload
systemctl enable nginx
ll /apps/nginx/run
# 存在pid文件

2.4.3启动失败

2.4.3.1查看状态

Linux 安装 nginx_第5张图片

2.4.3.2检查端口占用

在这里插入图片描述

2.4.3.3重启

在这里插入图片描述

2.4.3.4检查状态

Linux 安装 nginx_第6张图片

3.常用命令

nginx官方文档

3.1启动

# 直接nginx
nginx

3.2停止

nginx -s stop

3.3检查文件

验证文件是否正确

nginx -t

3.4重载配置文件

nginx -s reload

3.5开启、停止、重启服务

systemctl start nginx
systemctl stop nginx
systemctl restart nginx

4. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

出现的可能性比较大,单独拎出来,和上文内容一样

4.1查看状态

Linux 安装 nginx_第7张图片

4.2检查端口占用

在这里插入图片描述

4.3重启

在这里插入图片描述

4.4检查状态

Linux 安装 nginx_第8张图片

补充:再不行就关掉防火墙(不推荐)

systemctl stop firewalld

你可能感兴趣的:(linux,nginx,运维)