哇~~真的是你呀!今天是LINUX中NGINX的基本部署

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
日志服务 SLS,月写入数据量 50GB 1个月
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 在Linux中,Nginx是一个轻量级的、高性能的HTTP服务器和反向代理服务器。它的主要作用是处理网络流量和请求的分发。以下是Nginx在Linux中的一些主要作用。

前言

在Linux中,Nginx是一个轻量级的、高性能的HTTP服务器和反向代理服务器。它的主要作用是处理网络流量和请求的分发。


以下是Nginx在Linux中的一些主要作用:


1. 静态网页服务器:Nginx可以作为一个静态网页服务器,快速地提供HTML、CSS、JavaScript等静态文件给客户端浏览器。


2. 反向代理服务器:Nginx可以作为反向代理服务器,将客户端请求转发给后端的多个服务器集群,实现负载均衡和高可用性。


3. 动态内容缓存:Nginx可以缓存动态生成的内容,避免重复的计算和数据库查询,提供更高的响应速度和更低的服务器负载。


4. SSL/TLS终端代理:Nginx支持SSL/TLS协议,可以作为SSL/TLS终端代理,对客户端和后端服务器之间的通信进行加密和解密,提供安全的通信通道。


5. 负载均衡器:Nginx可以根据预设的负载均衡算法,将客户端请求分配到多个后端服务器,实现请求的分发和资源的优化利用。


6. WebSocket支持:Nginx可以代理WebSocket连接,提供实时通信功能,使得网页应用程序可以实时地与服务器进行双向通信。


7. URL重写和重定向:Nginx可以根据预设的规则对URL进行重写和重定向,实现更友好的URL结构和页面引导。


总的来说,Nginx在Linux中可用于构建高性能的、可扩展的网络架构,提供快速、安全和可靠的网络服务。


一、概述


概述 功能: web服务 、反向代理 、负载均衡 、  缓存服务

 它的网站模型是 epoll

优势:并发高,单机并发高达50000

监听端口: 80/tcp


二、安装


1)基础配置

   关闭防火墙      systemcetl stop firewalld && systemctl disable firewalld

   关闭SELinux    setenforce 0

   关闭NetworkManager    systemcetl stop NetworkManager && systemctl disable NetworkManager

   配置IP地址并重启服务

   连通性测试  ping

测试通连性

2)设置保存缓存并配置yum源

设置保存缓存vim /etc/yum.conf  修改Keepcache=1

先备份文件配置本地yum源

清除之前的缓存

yum clean all

 生成我们修改后的缓存

yum makecache fast

输入

yum list nginx --showduplicates

查看指定软件所有可安装版本

查找NGINX的安装包

yum list |grep nginx

安装

yum install -y nginx-1.20.0

基于之前生成的缓存我们进去查看

cd /var/cache/yum/x86_64/7/nginx-stable/packages/

发现我刚才生成的缓存安装包

把它移动到家目录

打开文件夹可以看到我们的安装包了,以后安装就不需要再配源了

三、目录结构


安装完之后查看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启动时指定配置文件位置

              -s  stop 停止服务

              -s      reload不停止服务,平滑加载配置文件

           -t 测试配置文件并返回信息


五、主文件配置


主配置文件

vim /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   默认文档

六、配置


1.单网站配置:启动nginx即可

2.虚拟主机配置
   1)基于不同端口
   2)基于不同IP地址
   3)基于不同域名

七、SSL加密配置


一、 加密类型

   1.对称加密:秘钥相同,不安全

   2.非对称加密

       1)公钥

           所有人都可以知道,用来对使用对等私钥加密的数据进行解密

      2) 私钥

           只有自己知道,用来对使用对等公钥加密的数据进行解密

       3)数据加密

           使用公钥加密,保证数据一致性(完整性)

       4)数字签名

           使用私钥加密,保证发送者的确定性


二、SSL概述

1.   网景公司(Netscape)设计的主要用于Web的安全传输协议。

   安全套接字 secure socket layer

   通过证书来实现

   证书颁发机构(CA),PKI认证

  传输过程

           1)首先发送数字证书,获取到可信的public key

           2)通过public key发送对称秘钥,接收方用私钥解密。

           3)通信双方使用仅仅对方可知的对称秘钥进行加密传输

   在https协议中的监听端口 443/tcp

   https的特点

          1) 通过数字证书确认服务器身份,获知服务器公钥

           2)将对称加密密钥通过非对称进行传输沟通

           3)之后的通信过程采取对称加密


2.openssl命令

   genrsa:生成私钥文件

   -out    :指定生成的证书请求或者自签名证书名称

   req:用来生成自签证书

   -new    :说明生成证书请求文件

   -key :指定已有的秘钥文件生成秘钥请求,只与生成证书请求选项-new配合。

   x509   :说明生成自签名证书

   -req:用来生成自签证书

   -in:读取文件

   -signkey:读取私钥文件


3.证书生成

 

mkdir /etc/pki/nginx/private -p

  1) 生成私钥文件(包含公钥和私钥)

     

cd /etc/pki/nginx/private
        openssl genrsa -out nginx.key

       查看私钥文件:

openssl rsa -in nginx.key -text

   2)生成证书请求文件

       

cd /etc/pki/nginx
        openssl req -new -key ./private/nginx.key -out nginx.csr

   3)生成证书

       

cd /etc/pki/nginx
        openssl x509 -req -days 3650 -in nginx.csr -signkey ./private/nginx.key -out nginx.crt

     4)  查看证书:

openssl x509 -req -days 3650 -in nginx.csr -signkey ./private/nginx.key -text


4.nginx配置SSL

   nginx.conf中去掉ssl配置注释,修改证书请求文件及证书文件的名称。


5.测试

   https://192.168.115.132

练一练

练习一

在上述的环境下我们已经安装了nginx,现在我们设置一个192.168.73.22 端口为81 域名为www.hy.com并写入相信自己

1)

vim /etc/nginx/nginx.conf

编辑主配置文件把访问文件注释

2)配置虚拟机主机头

cd /etc/nginx/conf.d/

利用左边的模版文件default.conf我们cp -p default.conf hy之后vim hy 编辑虚拟主机头

:编辑端口,添加别名,取消日志的注释,设置访问文件的路径

3)对网页进行编辑

cd /usr/share/nginx/html


mkdir hy      vim hy/index.html

4)重启服务


systemctl restart nginx

5)打开客户机进行访问




练习二

yum安装设置证书


1

)mkdir /etc/pki/nginx/private -p

递归创建目录

2)进入

cd /etc/pki/nginx/private

并且生成私钥文件(包含公钥和私钥)

openssl genrsa -out nginx.key


3)生成证书请求文件

openssl req -new -key ./private/nginx.key -out nginx.csr

4)生成证书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)编辑

vim /etc/nginx/conf.d/default.confzaiwenmo

在文末输入(路径不要写错了)


server {
    listen       443 ssl;
    server_name  www.hy.com;
    ssl_certificate      /etc/pki/nginx/private/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   /usr/share/nginx/html/hy/;
    index  index.html index.htm;
        }  
    }

6)重启服务

systemctl restart nginx

7)访问,在浏览器输入https://IP地址进行验证



目录
相关文章
|
10天前
|
Linux
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
|
2天前
|
Ubuntu 应用服务中间件 Linux
Linux学习之Ubuntu 20中OpenResty的nginx目录里内容和配置文件
总的来说,OpenResty的Nginx配置文件是一个强大的工具,它允许你以非常灵活的方式定义你的Web服务的行为。
8 2
|
5天前
|
JavaScript 前端开发 应用服务中间件
Nginx——一个域名下部署多个Vue项目
如何在同一域名下部署第二个Vue项目而不影响现有项目:更新`vue.config.js`,设置`publicPath`为`/screen/`。修改Vue Router的`base`为`screen`。在Nginx配置中添加新location `/screen`,指向第二项目`dist`目录。测试访问`http://<域名>/screen/`。别忘了检查并修复任何遗漏的配置,如数据看板默认设置。
17 2
|
7天前
|
Ubuntu Linux 数据安全/隐私保护
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
15 0
|
10天前
|
Java Linux Shell
Linux软件安装和部署Java代码
Linux软件安装和部署Java代码
13 0
|
10天前
|
前端开发 应用服务中间件 nginx
安装Windows版nginx以及部署前端代码并就解决刷新出现404
安装Windows版nginx以及部署前端代码并就解决刷新出现404
20 0
|
10天前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
10天前
|
Linux
Linux部署06 ---相对路径绝对路径,想要切换到home下的文件 cd /home/itheima/Desktop cd Desktop,相对路径以当前目录为起点一种写法 不写/,相对是当前目录
Linux部署06 ---相对路径绝对路径,想要切换到home下的文件 cd /home/itheima/Desktop cd Desktop,相对路径以当前目录为起点一种写法 不写/,相对是当前目录
|
10天前
|
Linux
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
|
10天前
|
Linux
Linux部署03---ls命令入门 ls直接用命令是列出目录下的内容,ls命令等同于双击打开文件夹,FinalShell默认的是在home目录下,工作目录
Linux部署03---ls命令入门 ls直接用命令是列出目录下的内容,ls命令等同于双击打开文件夹,FinalShell默认的是在home目录下,工作目录