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

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月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地址进行验证



目录
相关文章
|
11天前
|
弹性计算 运维 监控
快速部署 Nginx 社区版
Nginx是一个高性能的HTTP和反向代理服务器。Nginx在计算巢上提供了社区版服务,您无需自行配置云主机,即可在计算巢上快速部署Nginx服务、实现运维监控,从而方便地基于Nginx搭建您自己的应用。本文介绍使用如何通过计算巢快速部署Nginx社区版。
快速部署 Nginx 社区版
|
2月前
|
资源调度 JavaScript Linux
【Azure 应用服务】本地Node.js部署上云(Azure App Service for Linux)遇到的三个问题解决之道
【Azure 应用服务】本地Node.js部署上云(Azure App Service for Linux)遇到的三个问题解决之道
|
8天前
|
应用服务中间件 nginx Docker
docker应用部署---nginx部署的配置
这篇文章介绍了如何使用Docker部署Nginx服务器,包括搜索和拉取Nginx镜像、创建容器并设置端口映射和目录映射,以及如何创建一个测试页面并使用外部机器访问Nginx服务器。
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
1月前
|
负载均衡 网络协议 应用服务中间件
web群集--rocky9.2源码部署nginx1.24的详细过程
Nginx 是一款由 Igor Sysoev 开发的开源高性能 HTTP 服务器和反向代理服务器,自 2004 年发布以来,以其高效、稳定和灵活的特点迅速成为许多网站和应用的首选。本文详细介绍了 Nginx 的核心概念、工作原理及常见使用场景,涵盖高并发处理、反向代理、负载均衡、低内存占用等特点,并提供了安装配置教程,适合开发者参考学习。
|
10天前
|
Linux Python
linux之部署python环境&创建虚拟环境
linux之部署python环境&创建虚拟环境
|
2月前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
2月前
|
Java 应用服务中间件 nginx
【Azure Spring Apps】Spring App部署上云遇见 502 Bad Gateway nginx
【Azure Spring Apps】Spring App部署上云遇见 502 Bad Gateway nginx
|
2月前
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
|
2月前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
下一篇
无影云桌面