nginx安装文档
一. 文档介绍
- 文档内容目前并不全面,更多内容会在后续更新
- 文档nginx部分构成 ---- 基础配置篇 和 场景应用篇
- 基础配置篇:nginx 等相关介质准备及环境配置
- 场景应用篇:nginx 在生产中常见的使用方法
二. nginx 简介
1. nginx 简介
-
Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,特点是占有内存少,并发能力强。
-
Nginx 即可作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,如 php。但是不支持 java。Java 程序只能通过与 tomcat 配合完成
2. 服务器相关概念介绍
1.1 正向代理
说明:当客户端无法直接访问网站时,可以使符合条件的代理服务器代替我们 发送请求 和 接收内容。它还有一个好处是隐藏了客户端的真实ip
1.2 示意图
2. 反向代理
2.1 说明:用户对服务器提供的服务是无感知的,客户端将请求发送给代理服务器,代理服务器将请求发送给后台某一台服务器处理。他还有一个好处是隐藏了服务器的真实ip
2.2 示意图
基础安装篇
一. 环境准备
系统配置
配置 | 参数 |
---|---|
系统 | centos7.6 |
位数 | 64 |
cpu个数 | 4 |
1. 停用 selinux
说明:selinux 是 redhat/centos 中提供访问控制安全策略的机制,若开启可能会影响到服务器的使用,建议关闭
1. 查看 selinux 状态
getenforce
若显示 为 Enforcing
,则进行关闭
**2. ** 关闭 selinux
2.1 打开文件 /etc/
vi /etc/selinux/config
2.2 修改配置
说明:将 SELINUX=enforcing 修改为 SELINUX=disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing #将此处修改为 SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
3. 重启计算机,使配置生效
重启命令
init 6
**4. ** 查看 selinux 状态
getenforce
若为 Disabled 即已生效
2. 创建中间件用户
说明:中间件用户用来管理 nginx 服务器
1. 创建 middleware 组
groupadd -g 402 middleware
2. 创建 middleware 用户
useradd -u 402 -g middleware -d /middleware middleware
3. 修改 middleare 密码
passwd middleware
3. 赋予中间件用户 sudo 权限
1. 赋予文件可写权限
chmod +w /etc/sudoers
2. 打开文件
vi /etc/sudoers
3. 在只读模式中输入 /root 查找关键字
/root
4. 找到代码
root ALL=(ALL) ALL
5. 在它下方加入以下代码,然后保存退出
was ALL=(ALL) ALL
6. 恢复文件默认权限
chmod -w /etc/sudoers
4. 关闭防火墙
说明:为了方便,直接关闭防火墙
**1. ** 查看防火墙状态
systemctl status firewalld.service
若 Active 为 active ,则为开启状态
2. 关闭防火墙(重启后失效)
systemctl stop firewalld.service
3. 永久关闭防火墙(重启后生效)
systemctl disable firewalld.service
二. 素材准备
注意: 从此步开始均用 middleware 用户操作
1. 下载 nginx
1. 创建 software 目录,用来存放素材
mkdir ~/software
**2. ** 安装 wget , 用于下载 nginx 使用
sudo yum install wget -y
3. 将 nginx 下载到 ~/software 中
wget -P ~/software/ https://nginx.org/download/nginx-1.21.1.tar.gz
2. 下载依赖
**1. ** 安装
wget -P /middleware/software/ http://zlib.net/zlib-1.2.11.tar.gz
wget -P /middleware/software/ https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
wget -P /middleware/software/ https://www.openssl.org/source/openssl-1.0.2s.tar.gz
wget -P /middleware/software/ http://nginx.org/download/nginx-1.16.1.tar.gz
2. 依赖包解释
zlib
库 : gzip 模块所需
pcre
库 : rewrite 模块所需
openssl
库: ssl 功能所需
gcc
编译所需
3. 官网下载最新依赖
说明:yum 源中若没有上述库或者库版本不符,可到官网自行下载
prce
: http://www.pcre.org/
openssl
:http://www.openssl.org/source/
zlib
:http://www.zlib.net/
三. nginx 安装
1.介质解压于查看
1. 将压缩包解压到指定目录
tar -xvf ~/software/nginx-1.16.1.tar.gz
tar -xvf ~/software/openssl-1.0.2s.tar.gz
tar -xvf ~/software/pcre-8.43.tar.gz
tar -xvf ~/software/zlib-1.2.11.tar.gz
2. 查看解压后的目录
说明:此命令只显示当文件夹中的目录文件
find /middleware/software/ -maxdepth 1 -type d | awk '{ if (NR > 1){print $1}}'
3. 显示
/middleware/software/nginx-1.16.1
/middleware/software/openssl-1.0.2s
/middleware/software/pcre-8.43
/middleware/software/zlib-1.2.11
2. 配置编译环境
1. 进入 /middleware/software/nginx-1.16.1 目录
cd /middleware/software/nginx-1.16.1
2. 配置编译环境
./configure
--prefix=/middleware/nginx
--with-pcre=/middleware/software/pcre-8.43/
--with-zlib=/middleware/software/zlib-1.2.11/
--with-openssl=/middleware/software/openssl-1.0.2s/
--user=middleware
--group=middleware
--with-file-aio
--with-http_v2_module
--with-http_ssl_module
--with-http_realip_module
--with-http_sub_module
--with-http_gzip_static_module
--with-http_stub_status_module
3. 参数说明
4. 其他参数(了解)
3. 编译和安装
1. 编译后安装
make && make install
4. 修改 nginx 虚拟主机 端口号
说明:虚拟主机 概念后续会讲解,暂且将它认为是 nginx 启动服务后的默认端口号(即80端口)。修改原因是非root 用户没有权限管理 1024 以下的端口号
1. 打开 nginx 配置文件
vim /middleware/nginx/conf/nginx.conf
2. 将端口改为 8080
5. 启动 nginx 服务
1. 启动命令
/middleware/nginx/sbin/nginx
2. 查看 nginx 进程
ps -ef | grep nginx
3. 启动成功显示
middlew+ 59265 1 0 14:10 ? 00:00:00 nginx: master process /middleware/nginx/sbin/nginx
middlew+ 59266 59265 0 14:10 ? 00:00:00 nginx: worker process
4. 访问 nginx 服务器
地址:ip:8080
5. nginx 首页显示