本节主要学习nginx服务的概述,安装目录结构,命令,主配置文件,和如何配置。
目录
events { worker_connections }—定义每个工作进程的最大连接数
include /etc/nginx/mime.types; 支持的文件解析类型
2)SSL概述:网景公司(Netscape)设计的主要用于Web的安全传输协议。
4)证书生成—mkdir /etc/pki/nginx/private -p
查看私钥文件:openssl rsa -in nginx.key -text
一、概述
1、功能
web服务 反向代理 负载均衡
2、网站模型
epoll
3、优势
并发高,单机并发高达50000
4、监听端口
80/tcp
二、安装
1、基础配置
1)关闭防火墙
systemcetl stop firewalld && systemctl disable firewalld
2)关闭SELinux
setenforce 0
3)关闭NetworkManager
systemcetl stop NetworkManager && systemctl disable NetworkManager
4)配置IP地址
5)连通性测试
ping
2、yum
1)低版本
yum install -y epel-release
yum install -y nginx
2)官方高版本
yum源配置
yum install -y nginx-1.20.0
cp Centos * back
写一个文件nginx.repo
3)查看指定软件所有可安装版本
yum list nginx --showduplicates
4)下载指定版本软件包
yum upgrade nginx-1.22.0 --downloadonly
下载路径: /var/cache/yum/x86_64/7/yum源名称
3、扩展
yum保持软件包缓存—vim /etc/yum.conf
keepcache=1
案例
把所有httpd相关软件包放到同一目录—rpm -ivh ./*.rpm
三、目录结构
查看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(nginx可以使用不同的配置文件启动进程)
-s— stop
停止服务
reload 不停止服务,平滑加载配置文件
-t 测试配置文件并返回信息
-c—nginx启动时指定配置文件位置
案例:cp /etc/nginx/nginx.conf /opt/
修改/opt/nginx.conf文件:PID文件位置 端口号 访问文档根目录
五、主配置文件—/etc/nginx/nginx.conf
user nginx; —运行用户
worker_processes —进程数量
error_log— 错误日志
pid— 进程ID
include— 引用其他文件到当前文件
events { worker_connections }—定义每个工作进程的最大连接数
http{}—web网站配置块
include /etc/nginx/mime.types; 支持的文件解析类型
log_format 日志格式配置
access_log 访问日志路径
server { }—定义web站点配置
listen 监听端口
server_name 域名
location 指定访问的路径及默认文档
root 访问文档根目录
index 默认文档
六、如何配置Ngnix服务
1)单网站配置—启动nginx即可
2)虚拟主机配置
基于不同端口
基于不同IP地址
基于不同域名
3)SSL加密配置
1)加密类型
1.对称加密:秘钥相同,不安全
2.非对称加密
公钥:
所有人都可以知道,用来对使用对等私钥加密的数据进行解密
私钥:
只有自己知道,用来对使用对等公钥加密的数据进行解密
数据加密:
使用公钥加密,保证数据一致性(完整性)
数字签名:
使用私钥加密,保证发送者的确定性
2)SSL概述:网景公司(Netscape)设计的主要用于Web的安全传输协议。
安全套接字:secure socket layer
通过证书来实现
证书颁发机构(CA),PKI认证
传输过程
首先发送数字证书,获取到可信的public key
通过public key发送对称秘钥,接收方用私钥解密。
通信双方使用仅仅对方可知的对称秘钥进行加密传输
在https协议中的监听端口 443/tcp
https的特点
通过数字证书确认服务器身份,获知服务器公钥
将对称加密密钥通过非对称进行传输沟通
之后的通信过程采取对称加密
3)openssl命令
genrsa:生成私钥文件
-out :指定生成的证书请求或者自签名证书名称
req:用来生成自签证书
-new :说明生成证书请求文件
-key :指定已有的秘钥文件生成秘钥请求,只与生成证书请求选项-new配合。
x509 :说明生成自签名证书
-req:用来生成自签证书
-in:读取文件
-signkey:读取私钥文件
4)证书生成
1、yum安装
mkdir /etc/pki/nginx/private -p
生成私钥文件(包含公钥和私钥)
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
生成证书
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
4.2)编译安装1.20.0—mkdir /usr/local/nginx/pki
生成私钥文件(包含公钥和私钥)
cd /usr/local/nginx/pki
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
5)nginx配置SSL
yum或者编译安装都需要配置该server字段
6)测试
客户端浏览器查看https://虚拟机IP地址