前言
本篇将简述的内容:Linux系统下的Nginx基本部署
一、概述
Nginx 是一个高性能的HTTP和反向代理web服务器。
它具有以下功能:
web服务
反向代理
负载均衡
缓存服务
优势区间是:
并发高,单机并发高达50000
监听端口为:80/TCP
二、安装
1.配置yum源
进入yum配置目录
cd /etc/yum.repos.d
创建备份
mkdir backup 1
将CentOS-* 文件移入备份文件夹
mv CentOS-* backup
新建文件
vim local.repo
文件内容
[local] name=local baseurl=file:///mnt enabled=1 gpgcheck=0
卸载光驱
umount /dev/sr0
加载光驱
mount /dev/sr0 /mnt
2.关闭防火墙、网络图形化工具及SElinux
关闭防火墙及禁止防火墙自启
systemctl stop firewalld && systemctl disable firewalld
关闭网络图形化工具
systemctl stop NetworkManager && systemctl disable NetworkManager 1
查看SElinux状态
getenforce
设置宽容模式(临时关闭SElinux)
setenforce 0 1
永久关闭SElinux
vim /etc/selinux/config
SELINUX=enforcing 改为 SELINUX=disabled
3.配置静态IP
进入网卡配置目录
cd /etc/sysconfig/network-scripts/ 1
编辑网卡配置
vim ifcfg-ens33 1
文件内容
TYPE=Ethernet BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.118.10 PREFIX=24 GATEWAY=192.168.118.2 DNS1=192.168.118.2
配置网卡后重启网络服务
systemctl restart network
4.安装nginx软件包
yum install -y nginx
5.重启Nginx服务器
systemctl restart nginx
6.客户端接入Nginx
同一网段下的客户端访问nginx的ip地址,即可看到Nginx默认访问网页
说明nginx服务已启动
三、目录结构
查看nginx安装后生成的目录及文件
rpm -ql nginx
/etc/nginx/ Nginx安装主目录
/usr/bin/ Nginx更新命令
/usr/sbin/ Nginx启动命令
/usr/share/nginx/ 网页文档根目录
/var/lib/nginx 缓存和临时文件
/var/log/nginx/ 日志文件
四、命令
更新命令
nginx-upgrade
启停命令
nginx [options]
nginx启动时指定配置文件位置
nginx -c
停止服务
nginx -s stop
不停止服务,平滑加载配置文件
nginx -s reload
测试配置文件并返回信息
nginx -t
五、主配置文件
主配置文件
/etc/nginx/nginx.conf
配置文件内容
user nginx/ 运行用户
worker_processes/ 进程数量
error_log 错误日志
pid 进程ID
include 引用其他文件到当前文件
events { worker_connections } 定义每个工作进程的最大连接数
log_format 日志格式配置
access_log 访问日志路径
include /etc/nginx/mime.types; 支持的文件解析类型
listen 监听端口
server_name 域名
location 指定访问的路径及默认文档
root 访问文档根目录
index 默认文档
六、配置
单网站配置:启动nginx即可
虚拟主机配置,可以分为三种模式:
基于不同端口
基于不同IP地址
基于不同域名
七、SSL加密配置
SSL的主要目标是确保通过网络传输的数据在客户端和服务器之间进行加密和身份验证,以防止数据被窃听、篡改或伪装。
加密类型共分为两类
1.对称加密
秘钥相同,不安全
2.非对称加密
(一)公钥
所有人都可以知道,用来对使用对等私钥加密的数据进行解密
(二)私钥
只有自己知道,用来对使用对等公钥加密的数据进行解密
(I)数据加密
使用公钥加密,保证数据一致性(完整性)
(II)数字签名
使用私钥加密,保证发送者的确定性
3.证书生成
(一)yum安装
创建文件夹并进入
mkdir /etc/pki/nginx/private -p
1
cd /etc/pki/nginx/private
生成私钥文件(包含公钥和私钥)
openssl genrsa -out nginx.key
查看私钥文件
openssl rsa -in nginx.key -text
跳转到文件夹并生成证书请求文件
cd /etc/pki/nginx
openssl req -new -key ./private/nginx.key -out nginx.csr 1
跳转到文件夹生成证书
cd /etc/pki/nginx
openssl x509 -req -days 3650 -in nginx.csr -signkey ./private/nginx.key -out nginx.crt
查看证书
openssl x509 -req -days 3650 -in nginx.csr -signkey ./private/nginx.key -text
(二)编译安装
创建文件夹并进入
mkdir /usr/local/nginx/pki
cd /etc/pki/nginx/private
生成私钥文件(包含公钥和私钥)
openssl genrsa -out nginx.key
查看私钥文件
openssl rsa -in nginx.key -text
生成证书请求文件
openssl req -new -key ./private/nginx.key -out nginx.csr
生成证书
openssl x509 -req -days 3650 -in nginx.csr -signkey ./private/nginx.key -out nginx.crt
查看证书
openssl x509 -req -days 3650 -in nginx.csr -signkey ./private/nginx.key -text
证书配置完成后
nginx配置SSL
yum或者编译安装都需要配置该server字段
server { listen 443 ssl; server_name www.jx.com; ssl_certificate /etc/pki/nginx/nginx.crt; ssl_certificate_key /etc/pki/nginx/private/nginx.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }
八、测试
客户端访问
https://192.168.115.132
总结
Nginx是一款强大而灵活的Web服务器,它在Linux环境下得到了广泛的应用。通过合理的安装、配置和优化,Nginx能够提供高性能、稳定可靠的服务,并具备负载均衡、反向代理、缓存等丰富的功能。希望本文能够帮助读者更好地理解和使用Linux下的Nginx,构建出高效的Web服务器架构。