文章目录

  • 一、环境准备
  • (一)四项确认
  • (二)一项安装
  • 二、Nginx下载与安装
  • (一)Nginx源码编译安装
  • (1)创建存放源文件的文件夹
  • (2)上传Nginx到步骤1创建的目录下
  • (3)解压Nginx
  • (4)生成makefile
  • (5)配置参数
  • (二)Nginx目录详解
  • (三)Docker安装Nginx
  • (1)启动Docker
  • (2)拉取官方的Nginx镜像
  • (3)Nginx 服务部署,映射本地目录到Nginx容器
  • 三、Nginx服务的启动与停止
  • (一)Nginx的启动
  • (二)Nginx的停止
  • 快速停止:
  • 平缓停止(推荐)
  • (三)Nginx的重启


一、环境准备

(一)四项确认

确认网络:

ping www.baidu.com

确认yum可用

yum list

确认防火墙是否关闭:

#查看防火墙当前的状态
firewall-cmd --state
#关闭防火墙
systemctl stop firewalld 
#关闭防火墙自启动
systemctl disable firewalld

确认SELinux:

vim /etc/selinux/
#修改SELINUX=disabled

(二)一项安装

yum -y install gcc make automake pcre-devel\
zlib zlib-devel openssl openssl-devel

docker编译环境 linux docker编译安装_nginx

二、Nginx下载与安装

官网下载Nginx软件:http://Nginx.org

(一)Nginx源码编译安装

(1)创建存放源文件的文件夹

首先在目录/opt下创建apps目录,用于存放源文件以及解压后的文件

mkdir -p /opt/apps

(2)上传Nginx到步骤1创建的目录下

(3)解压Nginx

[root@node1 apps]# pwd
/opt/apps
[root@node1 apps]# ls
Nginx-1.20.1.tar.gz
[root@node1 apps]# tar -zxvf Nginx1.20.1.tar.gz
[root@node1
apps]# cd Nginx-1.20.1

进入到 Nginx 解压包目录/opt/apps/Nginx-1.20.1 目录中,查看 Nginx 的目录。

其中各个目录中存放的文件作用为:

docker编译环境 linux docker编译安装_docker_02

(4)生成makefile

在 Nginx 解压目录下运行 make 命令,用于完成编译。但此时会给出提示:没有指定目标,并且没有发现编译文件 makefile。

docker编译环境 linux docker编译安装_docker_03


编译命令 make 需要根据编译文件 makefile 进行编译,所以在编译之前需要先生成编译文件 makefile。使用 configure 命令可以生成该文件。那么,configure 命令需要配置些什么参数呢?使用–help 可以查看到可以使用的参数说明。

docker编译环境 linux docker编译安装_nginx_04


docker编译环境 linux docker编译安装_Nginx_05


安装编译参数

docker编译环境 linux docker编译安装_docker编译环境 linux_06

(5)配置参数

[root@node1 Nginx-1.20.1]# mkdir -p /var/temp/nginx/client
[root@node1 Nginx-1.20.1]# pwd
/opt/apps/nginx-1.20.1
[root@node1 Nginx-1.20.1]# ./configure \
--prefix=/usr/local/nginx \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--with-http_ssl_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi

编译安装

make && make install

这是两个命令,make 为编译命令,make install 为安装命令,
可以分别执行。这里使用&&将两个命令连接执行,会在前面命
令执行成功的前提下才会执行第二个命令。

(二)Nginx目录详解

执行命令 tree /application/Nginx ;如果tree命令找不到就执行 yum install tree -y安装
conf目录
Nginx所有配置文件的目录,极其重要。在该目录中包含一个Nginx.conf配置文件。
html目录
Nginx的默认站点目录。
logs目录
存放Nginx的日志文件。 access.log error.log
sbin目录
Nginx命令的目录,如Nginx的启动命令。

(三)Docker安装Nginx

(1)启动Docker

systemctl start docker

(2)拉取官方的Nginx镜像

docker pull Nginx

启动nginx容器示例

docker run --rm --name 
nginx-test -p 8080:80 -d nginx

docker编译环境 linux docker编译安装_服务器_07

(3)Nginx 服务部署,映射本地目录到Nginx容器

创建本地目录,用于存放Nginx的相关文件信息

mkdir -p /opt/nginx/www /opt/nginx/conf

docker编译环境 linux docker编译安装_nginx_08

拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器ID可以查看 docker ps 命令输入中的第一列

docker cp 358354f206fd:/etc/nginx/nginx.conf /home/nginx/conf/

358354f206fd不是固定值,是容器id

三、Nginx服务的启动与停止

在Linux 平台下,启动Nginx服务器直接运行安装目录下sbin目录中的二进制文件即可。

(一)Nginx的启动

./Nginx -h

docker编译环境 linux docker编译安装_Nginx_09


docker编译环境 linux docker编译安装_docker编译环境 linux_10

(二)Nginx的停止

快速停止:

快速停止是指立即停止当前Nginx服务正在处理的所有网络请求,马上丢弃连接,停止工作。

nginx -s stop   # 快速关闭

平缓停止(推荐)

平缓停止是指允许Nginx服务将当前正在处理的网络请求处理完成,但不再接收新的请求,之后关闭连接,停止工作。

nginx -s quit   # 等待工作进程处理完成后关闭

(三)Nginx的重启

更改Nginx服务器的配置和加入新模块后,如果希望当前的Nginx服务应用新的配置或使新模块生效,就需要重启Nginx服务。当然我们可以先关闭Nginx服务,然后使用新的Nginx配置文件重启服务。

Nginx -s reload # 向主进程发送信号,重新加载配置文件,热重启

nginx -s reopen # 重启 nginx

以上是建立在配置完环境变量的基础上的运行指令
没配置的会报命令找不到异常
通过vim /etc/profile
在path 中添加/usr/local/nginx/sbin即可