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

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
日志服务 SLS,月写入数据量 50GB 1个月
网络型负载均衡 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地址进行验证



目录
相关文章
|
2月前
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
345 7
ERPNext 搭建教程:Linux 一键部署与维护
|
4月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
1203 57
|
2月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
277 13
|
2月前
|
关系型数据库 Linux Nacos
Rocky Linux 部署 Docker 和 NACOS 实例
本文介绍在阿里云环境下基于 Rocky Linux 搭建 Docker 并部署 Nacos 的完整流程。涵盖 Docker 安装、镜像加速配置、网络设置及 MySQL 与 Nacos 容器的创建,适用于开发与生产环境。
368 0
|
4月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
288 41
|
4月前
|
应用服务中间件 Linux 网络安全
技术指南:如何把docsify项目部署到基于CentOS系统的Nginx中。
总结 与其他部署方法相比,将docsify项目部署到基于CentOS系统的Nginx中比较简单。以上步骤应当帮助你在不花费太多时间的情况下,将你的项目顺利部署到Nginx中。迈出第一步,开始部署你的docsify项目吧!
183 14
|
4月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
378 17
|
4月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
113 18
|
4月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
125 10