web服务的部署及高级优化

  • 搭建web服务器

1.1、配置主机IP以及软件仓库搭建

        [root@server129 ~]# vmset.sh 100

        //主机IP配置为172.25.254.100

1.2、查看搭建web服务器所需的软件包

        [root@server100 ~]# dnf search nginx

        ================ 名称 精准匹配:nginx =================

        nginx.x86_64 : A high performance web server and reverse proxy server

1.3、安装nginx.x86_64服务

        [root@server100 ~]# dnf install nginx.x86_64

1.4、开启nginx服务

        [root@server100 ~]# systemctl enable --now nginx.service

 Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service →         /usr/lib/systemd/system/nginx.service.

       1.5、查看火墙状态

              [root@server100 ~]# systemctl status firewalld

              //如果火墙开启将火墙关闭

              [root@server100 ~]# systemctl stop firewalld

       2.1、修改默认访问目录

              [root@server100 ~]# vim /etc/nginx/nginx.conf

              //主配置文件路径

                server {

                           listen       80;

                            listen       [::]:80;

                            server_name  _;

                            root         /var/www/html;

                        ………

       2.2、创建发布路径所需目录

              [root@server100 ~]# mkdir -p /var/www/html

       2.3、创建发布文件内容

              [root@server100 ~]# echo default page > /var/www/html/index.html

       2.4、修改读取的默认文件

              server {

                      listen       80;

                      listen       [::]:80;

                      server_name  _;

                        root         /var/www/html;

                      index index.html;       //默认文件

       3.1、对站点news.timinglee.org的默认发布目录

(首先要先将主配置文件的server上一行的inculde复制一份并注释掉,粘贴到server后面)

              #include /etc/nginx/conf.d/*.conf;

                         server {

                             listen       80;

                             listen       [::]:80;

                             server_name  _;

                             root         /var/www/html;

                             index index.html;

                            # Load configuration files for the default server block.

                             include /etc/nginx/default.d/*.conf;

                             error_page 404 /404.html;

                             location = /404.html {

                               }

                             error_page 500 502 503 504 /50x.html;

                             location = /50x.html {

                             }

                         }

                        Include /etc/nginx/conf.d/*.conf;

       3.2、创建子目录配置文件

              [root@server100 ~]# cd /etc/nginx/conf.d/       //路径

              [root@server100 conf.d]# vim vhosts.conf       //子目录文件

              server {                                                           //子目录文件配置内容

                      listen 80;

                      server_name news.timinglee.org;

                      root /var/www/virtual/timinglee.org/news;

                      index index.html;

}

       3.3、创建默认发布路径目录

              [root@server100 ~]# mkdir -p /var/www/virtual/timinglee.org/news

       3.4、创建发布文件内容

[root@server100 ~]# echo news.timinglee.org > /var/www/virtual/timinglee.org/news/index.html

       3.5、测试

              1、在测试端做本地的dns解析

                     [root@server100 ~]# vim /etc/hosts                //文件路径

                     127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.25.254.100  server100.timinglee.org news.timinglee.org        //配置内容

              2、“curl”测试

                     (1)测试前检查nginx的配置文件是否正常

                            [root@server100 ~]# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

                    

(2)测试无误重启服务

                            [root@server100 ~]# systemctl restart nginx.service

                     (3)测试

                            [root@server100 ~]# curl 172.25.254.100  //测试第二问的100的IP

default page

[root@server100 ~]# curl news.timinglee.org  //测试站点news.timinglee

news.timinglee.org

                            {在真机中测试:

  1. 首先要在win11下做本地域名解析,

找到记事本,右键以管理员身份打开,

路径C:\Windows\System32\drivers\etc\hosts

在最后面做域名解析:

172.25.254.100 news.timinglee.org

2、在浏览器中测试:网址中输入IP地址或news域名即可访问到

}

       4.1、站点login.timinglee.org的默认发布目录

              /var/www/virtual/timinglee.org/login

       4.3、配置子目录文件

              [root@server100 ~]# vim /etc/nginx/conf.d/vhosts.conf

              server {

                          listen 80;

           server_name login.timinglee.org;

                        root /var/www/virtual/timinglee.org/login;

                       index index.html;

}

       4.4、创建发布文件路径

              [root@server100 ~]# mkdir -p /var/www/virtual/timinglee.org/login

       4.5、创建默认发布文件内容

[root@server100 ~]# echo login.timinglee.org > /var/www/virtual/timinglee.org/login/index.html

4.6、站点login.timinglee.org在被访问时必须强制走加密协议

              [root@server100 ~]# mkdir /etc/nginx/certs       //创建加密文件目录

[root@server100 ~]# openssl req -newkey rsa:2048 -nodes -sha256 -keyout /etc/nginx/certs/timinglee.org.key -x509 -days 365 -out /etc/nginx/certs/timinglee.org.crt                   //加密密钥及证书认证

....+..+.......+..+....+......+...+........+......................+............+...........+....+........+...+....+......+.....+...+.........+...............+.+.........+...+........+.+...+..+................+...+.....+....+........+.........+......+.......+......+...........+....+..+....+...+............+......+..+......+.+......+.......................+.+......+..............+...+..........+.....+......+....+...+........+.+......+.........+.....+...+......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-----

Country Name (2 letter code) [XX]:CN                     //加密认证信息

State or Province Name (full name) []:Shanxi

Locality Name (eg, city) [Default City]:Xi'an

Organization Name (eg, company) [Default Company Ltd]:timinglee

Organizational Unit Name (eg, section) []:webserver

Common Name (eg, your name or your server's hostname) []:www.timinglee.org

Email Address []:admin@liu.org

[root@server100 ~]# vim /etc/nginx/conf.d/vhosts.conf        //打开子配置文件

server {                                                                                //信息加密

        listen 443 ssl;

        server_name login.timinglee.org;

        ssl_certificate "/etc/nginx/certs/timinglee.org.crt";

        ssl_certificate_key "/etc/nginx/certs/timinglee.org.key";

        root /var/www/virtual/timinglee.org/login;

        index index.html;

}

server {                                                                                //强制加密配置内容

        listen 80;

        server_name login.timinglee.org;

        rewrite ^/(.*)$ https://login.timinglee.org/$1 permanent;

}

4.7、检查,重启nginx服务

       [root@server100 ~]# nginx -t

nginx: [warn] conflicting server name "login.timinglee.org" on 0.0.0.0:80, ignored

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

       [root@server100 ~]# systemctl restart nginx.service

4.8、测试

              首先要在win11下做本地域名解析,

找到记事本,右键以管理员身份打开,

路径C:\Windows\System32\drivers\etc\hosts

在最后面做域名解析:

172.25.254.100 news.timinglee.org login.timinglee.org

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

头歌实践教学平台:CG7-v2.0-实体消隐

第1关:立方体消隐 一. 任务描述 1. 本关任务 (1) 理解深度缓冲器算法(Z-Buffer)算法; (2) 将triangle函数和main函数中的空白部分补充完整。 2. 输入 (1) 代码将自动输入一个边长为1的obj正方体模型,具体模型如下图: (2) 代码会自动对将…

Kafka Exactly Once 语义实现原理:幂等性与事务消息

01 前言 在现代分布式系统中,确保数据处理的准确性和一致性是至关重要的。Apache Kafka,作为一个广泛使用的流处理平台,提供了强大的消息队列和流处理功能。随着业务需求的增长,Kafka 的事务消息功能应运而生,它允许应…

力扣279完全平方数

力扣279完全平方数 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,…

【OceanBase诊断调优】—— OceanBase 数据库日志解读

适用版本:V2.1.x、V2.2.x、V3.1.x、V3.2.x observer.log 日志 OBServer 启动日志 搜索关键字: [NOTICE] 日志说明: OBServer 启动过程中比较关键的日志信息。 [2023-05-11 14:19:09.703272] INFO [SERVER] ob_server.cpp:533 [95303][0]…

单链表的经典oj题(1)

前言 这次博客将要以图解的形式,把单链表的经典题目,讲解,绝对是干货,来吧兄弟萌 第一题 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 …

USB HID报告描述符学习

参考资料 HID 报告描述符 (qq.com)https://mp.weixin.qq.com/s?__bizMzU1ODI3MzQ1MA&mid2247485748&idx1&sn112bd8014eb96b03308b3b808549e8d4&chksmfc284ff1cb5fc6e770c2d2ece46c17bf2529901b45a357938978fa62163723556ad497b05c47&cur_album_id3340417…

力扣经典150题第四十七题:汇总区间

目录 题目描述和要求示例解释解题思路算法实现复杂度分析测试和验证总结和拓展参考资料 题目描述和要求 给定一个无重复元素的有序整数数组 nums,要求返回恰好覆盖数组中所有数字的最小有序区间范围列表。即,nums 的每个元素都恰好被某个区间范围所覆盖…

三、VLAN间路由(三层交换)

VLAN间路由可以通过二层交换机配合路由器来实现,也可以通过三层交换机来实现。 目录 1.单臂路由 2.通过三层交换机实现不同vlan的互访 1.单臂路由 注: 1.三层接口不能正确识别带vlan tag的数据帧 2.所有子接口与主接口共享MAC地址 命令 int g0/0/0.1…

Tom与Locust的渐入佳境

本书 第一章:Tom的Locust压力测试之旅 第二章:意外的挑战:系统性能问题的出现 第三章:高手相助:遇见性能测试专家 第四章:Locust初探:探寻压力测试工具 第五章:脚本编写&#xff1a…

Java Spring 中 Bean 的作用域(Scope)

在 Java Spring 框架中,Bean 的作用域(Scope)定义了 Bean 的生命周期以及其在 Spring 容器中的可见性。Spring 提供了几种不同的 Bean 作用域,以满足不同的应用需求。以下是 Spring 中主要的 Bean 作用域及其详细解释:…

试用了三个Ai音乐工具,我的偶像河图要完蛋了

试了三个生成音乐的ai工具,分别是爆火的suno,后期新秀udio,还有我们国内的天工。 先说感受,suno和天工我觉得稍微靠前,udio可能我的配置风格有问题,啪啪啪连选了好几个风格,生成的东西有点怪。 我随手写了…

语音识别的基本概念

语音识别的基本概念​​​​​​​ ​​​​​​​ 言语是一种复杂的现象。人们很少了解它是如何产生和感知的。天真的想法常常是语音是由单词构成的,而每个单词又由音素组成。不幸的是,现实却大不相同。语音是一个动态过程,没有明确区分的…

linux学习:线程安全(信号量+互斥锁读写锁+条件变量+可重入函数)

目录 信号量 有名信号量 步骤 api 创建、打开一个POSIX有名信号量 对 POSIX 有名信号量进行 P、V 操作 关闭、删除 POSIX 有名信号量 例子 无名信号量 步骤 api 初始化、销毁 POSIX 无名信号量 互斥锁读写锁 例子 两条线程 使用互斥锁来互斥地访问标准输出 在加锁…

算法人生(12):从“优先级队列算法”到“”六点优先工作法”

算法思想和生活中很多解决问题的思想有着异曲同工之妙,让我们来看下今天的“优先级队列算法”可以怎么应用到我们的生活中吧! 优先级队列算法(Priority Queue Algorithm) 是一种特殊的数据结构,它在常规队列秉持着“先…

MySQL中START REPLICA 语句详解

在数据库管理和操作中,复制是保证数据可用性和分布式处理的关键技术之一。MySQL从8.0.22版本开始引入了START REPLICA语句,替代了原来的START SLAVE语句。本篇博文将详细介绍START REPLICA语句的用法和功能,帮助数据库管理员更有效地管理MySQ…

软件工程师,如何有效缓解工作压力

概述 在这个快速迭代、技术日新月异的数字时代,软件工程师们常常站在技术创新的最前沿。他们肩负着构建高效、可靠软件系统的重任,同时也面临着紧迫的截止日期、复杂的技术难题和持续的学习需求,这些因素共同构成了巨大的工作压力。如何在高压…

[SQL系列]从零开始学Clickhouse——集群篇

在上一篇中,我们通过Docker构建了一个简单的单点Clickhouse,但是如果要做大数据的处理的话,Clickhouse集群是必不可少的,今天我们先用Docker简单地搭建一个Clickhouse集群。 容器逐个部署 使用Docker部署ClickHouse集群涉及几个步…

1.认识USB协议

目录 前言 在嵌入式场景的具体体现 USB通信协议 总结 前言 在这之前,我们需要认识USB是什么东西,它是一种通信协议,协议只是规定数据的,在物理层面上,它可以有多种表现形式。在我们日常生活中也非常常见&#xff0…

FebHost:什么是挪威.no域名,如何注册?

挪威国家域名介绍 挪威是一个位于北欧的国家,北面和西面是大西洋和北海,东面和南面则与瑞典、芬兰接壤。挪威是一个高度发达的经济体,其政府在经济管理和可持续发展方面也取得了很多成就。挪威的人均GDP在世界范围内排名非常靠前&#xff0c…

【Unity】 使用代码分析(Roslyn Analyzers)实现自动代码审查(Code Review)

索引 Roslyn AnalyzersCode Review自动 Code Review 案例1.public、internal权限的字段建议以大写字母开头。2.private、protected权限的字段建议以下划线小写字母开头。3.不建议直接继承 MonoBehaviour,建议继承至 HTBehaviour。4.不建议使用 Input 判断输入或获取…