小白带你学习linux Nginx基本部署 (二十一)

简介: 小白带你学习linux Nginx基本部署 (二十一)



一、概述

功能

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配置注释,修改证书请求文件及证书文件的名称。

测试          https://192.168.115.132

相关文章
|
2天前
|
存储 移动开发 Linux
Linux系统之部署h5ai目录列表程序
【5月更文挑战第3天】Linux系统之部署h5ai目录列表程序
23 1
|
16小时前
|
监控 Unix 应用服务中间件
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
|
2天前
|
Linux 程序员 计算机视觉
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
15 0
|
2天前
|
自然语言处理 Java Linux
【Linux】开始学习进程替换吧!
通过学习进程替换,我们可以体会到多语言混搭的快乐,可以从C语言直接蹦到python ,也可以从c++里运行java代码。是不是很厉害!这是通过调度多个进程的效果,联系我们之前学习的进程,进程控制等概念。我们可以想要运行其他代码可以通过创建子进程来实现,但是这样也肯定是同一种语言,如果想要运行其他语言,那是不是有种方法可以调度一个进程来当做子进程呢??? 我们开始今天的学习吧!
11 0
|
2天前
|
关系型数据库 MySQL Linux
在Linux系统上实现高效安装与部署环境的全方位指南
在Linux系统上实现高效安装与部署环境的全方位指南
|
2天前
|
Linux 测试技术 网络安全
Linux系统之部署2048网页小游戏
【5月更文挑战第5天】Linux系统之部署2048网页小游戏
29 0
Linux系统之部署2048网页小游戏
|
2天前
|
前端开发 Java Linux
宝塔Linux:部署His医疗项目通过jar包的方式
宝塔Linux:部署His医疗项目通过jar包的方式
|
2天前
|
前端开发 Java 关系型数据库
2023全网最详细的若依开源项目部署,将其部署到Linux操心系统中
2023全网最详细的若依开源项目部署,将其部署到Linux操心系统中
|
2天前
|
应用服务中间件 nginx
如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
12 0
|
2天前
|
运维 监控 Linux
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
22 0
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作