一、概述
功能
web服务
反向代理
负载均衡
缓存服务
网站模型 epoll
优势 并发高,单机并发高达50000
监听端口 80/tcp
二、安装
1、扩展
yum保持软件包缓存 vim /etc/yum.conf
keepcache=1
案例
把所有httpd相关软件包放到同一目录
rpm -ivh ./*.rpm
2、基础配置
关闭防火墙 systemcetl stop firewalld && systemctl disable firewalld
关闭SELinux setenforce 0
关闭NetworkManager systemcetl stop NetworkManager && systemctl disable NetworkManager
配置IP地址看链接模式
连通性测试 ping
3、yum
低版本
yum install -y epel-release
yum install -y nginx
官方高版本
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/releasever/releasever/basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
查看指定软件所有可安装版本 yum list nginx --showduplicates
yum install -y nginx-1.20.0
下载指定版本软件包 yum upgrade nginx-1.22.0 --downloadonly
下载路径 /var/cache/yum/x86_64/7/yum源名称
源码安装
三、目录结构
查看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 启停命令
选项
-c nginx启动时指定配置文件位置
案例
cp /etc/nginx/nginx.conf /opt/
修改/opt/nginx.conf文件
PID文件位置
端口号
访问文档根目录
-s
stop 停止服务
reload 不停止服务,平滑加载配置文件
-t 测试配置文件并返回信息
五、主配置文件
/etc/nginx/nginx.conf
user nginx; 运行用户
worker_processes 进程数量
error_log 错误日志
pid 进程ID
include 引用其他文件到当前文件
events { worker_connections } 定义每个工作进程的最大连接数
http{} web网站配置块
log_format 日志格式配置
access_log 访问日志路径
include /etc/nginx/mime.types; 支持的文件解析类型
server { } 定义web站点配置
listen 监听端口
server_name 域名
location 指定访问的路径及默认文档
root 访问文档根目录
index 默认文档
检查一下端口
看一下处理器
移动default.conf 到web1 拷贝出web2
修改web1
修改web2
进入vim../nginx.conf注释掉
重新启动nginx
完事之后2窗口进入 cd /usr/share/nginx/html
六、配置
1、单网站配置
启动nginx即可
2、虚拟主机配置
基于不同端口
基于不同IP地址
基于不同域名
3、SSL加密配置
⑴ 加密类型
对称加密 秘钥相同,不安全
非对称加密
公钥 所有人都可以知道,用来对使用对等私钥加密的数据进行解密
私钥 只有自己知道,用来对使用对等公钥加密的数据进行解密
数据加密 使用公钥加密,保证数据一致性(完整性)
数字签名 使用私钥加密,保证发送者的确定性
⑵ SSL概述
网景公司(Netscape)设计的主要用于Web的安全传输协议。
安全套接字 secure socket layer
通过证书来实现
证书颁发机构(CA),PKI认证
传输过程
首先发送数字证书,获取到可信的public key
通过public key发送对称秘钥,接收方用私钥解密。
通信双方使用仅仅对方可知的对称秘钥进行加密传输
在https协议中的监听端口 443/tcp
https的特点
通过数字证书确认服务器身份,获知服务器公钥
将对称加密密钥通过非对称进行传输沟通
之后的通信过程采取对称加密
⑶ openssl命令
genrsa:生成私钥文件
-out :指定生成的证书请求或者自签名证书名称
req:用来生成自签证书
-new :说明生成证书请求文件
-key :指定已有的秘钥文件生成秘钥请求,只与生成证书请求选项-new配合。
x509 :说明生成自签名证书
-req:用来生成自签证书
-in:读取文件
-signkey:读取私钥文件、
4、编译安装1.20.0
基础配置
第二步
第三步 把1.18.0拖进解压
第四步查看可安装包
安装包
补齐yum包
安装完成激活一下
配置网络源
进入usr下local 下nginx
注释掉
创建目录
注意这步进入当前目录下把文件拖进来
检查完端口就可以在外部访问了
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
⑷证书生成
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
nginx配置SSL nginx.conf中去掉ssl配置注释,修改证书请求文件及证书文件的名称。