第十六天学习笔记2024.7.29

news2024/9/26 3:24:34

web

yum -y install httpd

systemctl start httpd.service 
systemctl stop firewalld 
systemctl disable firewalld 

2、动态⻚⾯与静态⻚⾯的差别
(1)URL不同

静态⻚⾯链接⾥没有“?”

动态⻚⾯链接⾥包含“?”

(2)后缀不同 (开发语⾔不同)

静态⻚⾯⼀般以 .html .htm .xml 为后缀

动态⻚⾯⼀般以 .php .jsp .py等为后缀

(3)内容不同

静态⻚⾯的内容是固定的

动态⻚⾯的内容会因⽤户、浏览器、时间、地点等⽽发⽣变化。

Apache服务器

12、搭建 apache 服务器
 1、安装启动httpd服务
 [root@web ~]# yum -y install httpd   
 [root@web ~]# systemctl start httpd
 2、查看安装情况以及安装的资源文件
 [root@web ~]# rpm -qa | grep httpd
 [root@web ~]# rpm -ql httpd
 [root@web ~]# ls /etc/httpd/
 [root@web ~]# vim /etc/httpd/conf/httpd.conf
 [root@web ~]# ls /var/www/html/
 3、查看端口
 [root@web ~]# netstat -lnput | grep http
 4、设置防火墙
 [root@web ~]# systemctl status firewalld   //检查防火墙状态
 [root@web ~]# systemctl start firewalld   //开启防火墙
 不能直接禁用防火墙,可以单独打开端口/服务
 [root@web ~]# firewall-cmd --list-ports   //查看防火墙打开的端口列表
 [root@web ~]# firewall-cmd --zone=public  --add-port=80/tcp --permanent   //打开防火墙的80端口
 [root@web ~]# firewall-cmd --zone=public  --add-service=http --permanent   //设置防⽕墙放⾏apache
 [root@web ~]# firewall-cmd --list-all   //查看当前区域下防⽕墙所有规则
   public (active)
   target: default
   icmp-block-inversion: no
   interfaces: ens33
   sources: 
   services: ssh dhcpv6-client
   ports: 
   protocols: 
   masquerade: no
   forward-ports: 
   source-ports: 
   icmp-blocks: 
   rich rules: 
 打开服务不会马上生效,需要重启或者重载服务信息
 [root@web ~]# firewall-cmd --reload    //重载防⽕墙规则
 [root@web ~]# firewall-cmd --list-all  //查看当前区域下防⽕墙所有规则
 public (active)
   target: default
   icmp-block-inversion: no
   interfaces: ens33
   sources: 
   services: ssh dhcpv6-client http
   ports: 80/tcp
   protocols: 
   masquerade: no
   forward-ports: 
   source-ports: 
   icmp-blocks: 
   rich rules: 
 5、在资源目录中添加index.html,html服务会自动找到index文件
 [root@web ~]# vim /var/www/html/index.html 
 <!doctype html>
 <html>
        <head>
            <meta charset="utf-8">
            <title>正方形</title>
            <style>
                      div{
                              background-color:red;
                              width:120px;
                              height:120px;
                         }
            </style>
        </head>
        <body>
             <div>正方形</div>
             <img src="1.jpg"
        </body>
 </html>

 nginx 

nginx安装

 [root@sla ~]# wget https://nginx.org/download/nginx-1.27.0.tar.gz   //下载最新版本的nginx
 [root@sla ~]# yum -y install gcc gcc-c++  //gcc用于编译多种编程语言的编译器  gcc-c++专门用于编译 C++ 程序的 gcc 组件
 [root@sla ~]# yum -y install make  //make用于自动化软件构建过程
 [root@sla ~]# yum -y install openssl-devel //安装“openssl-devel”包可以获得 OpenSSL 库的头文件和静态库文件
 [root@sla ~]# yum -y install pcre-devel  //安装 pcre-devel 包可以让开发者在编写 C 或 C++ 程序时能够使用 PCRE 库来处理正则表达式
 [root@sla ~]# tar -zxvf nginx-1.27.0.tar.gz
 [root@sla ~]# cd  nginx-1.27.0
 [root@sla nginx-1.27.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-stream
configure,编译安装前的预配置。

--prefix=/usr/local/nginx:指定软件的安装路径,注意不是安装包⽬录,⽽是软件要安装在哪。

--user=nginx:程序⽤户为nginx。

--group=nginx:组为nginx。

--with-http_ssl_module:提供HTTPS⽀持,ssl证书模块。

--with-http_stub_status_module:获取nginx⼯作状态模块。

--with-http_realip_module:获取真实客户端IP。

--with-stream:启⽤TCP/UDP代理模块。

 [root@sla nginx-1.27.0]# make && make install
 [root@sla nginx-1.27.0]# useradd -s /bin/nologin -M nginx   //-M :表示不创建用户的家目录。
 [root@sla nginx-1.27.0]# cd /usr/local/nginx/
 [root@sla nginx]# cp -r conf/ conf.bak   //备份配置文件的目录
 [root@sla nginx]# ./sbin/nginx     //启动nginx服务
 [root@sla nginx]# netstat -lntup | grep nginx    //查看nginx端口
 [root@sla nginx]# firewall-cmd --zone=public --add-port=80/tcp --permanent   //配置防火墙打开80端口
 [root@sla nginx]# firewall-cmd --reload    //重启服务
 [root@sla nginx]# ln -s /usr/local/nginx/sbin/nginx  /usr/bin/    //将软件⽬录下的nginx可执⾏程序软链接到/usr/sbin
 [root@sla nginx]# nginx -s reload  //热重启,仅重载nginx配置⽂件
 之所以指令能在命令行使用,是因为在$PATH目录中能找到这个可执行文件或者是这个可执行文件的链接文件
nginx目录结构介绍
 [root@YH2 nginx-1.22.1]# cd /usr/local/nginx/   //切换到nginx软件⽬录下
 [root@YH2 nginx]# ls 
 conf html logs sbin #nginx软件构成的⽬录
 #conf:存放nginx配置⽂件的⽬录
 #html:存放资源⽂件也就是⽹站⾸⻚(站点根⽬录)的⽬录
 #logs:存放nginx⽇志的⽬录
 #sbin:存放nginx可执⾏程序的⽬录
 [root@YH2 nginx]# ls ./conf     //nginx所有配置⽂件
 fastcgi.conf           nginx.conf
 fastcgi.conf.default   nginx.conf.default
 fastcgi_params         scgi_params
 fastcgi_params.default scgi_params.default
 koi-utf                 uwsgi_params
 koi-win                 uwsgi_params.default
 mime.types             win-utf
 mime.types.default
 #fastcgi.conf:fastcgi 相关参数配置⽂件。
 #fastcgi.conf.default:fastcgi.conf 的原始备份⽂件。
 #fastcgi_params:fastcgi 的参数⽂件。
 #nginx.conf:nginx 默认主配置⽂件。
 [root@YH2 nginx]# ls ./html/      //⽹站根⽬录
 50x.html index.html    //⾸⻚索引⽂件。
 #50x.html:错误⾸⻚
 #index.html:⽹站⾸⻚
 [root@YH2 nginx]# ls ./sbin
 nginx   //nginx可执⾏程序
1、nginx 主配置⽂件

nginx.conf 为 nginx 的主配置⽂件,编译安装的配置⽂件在之前预配置时指定的软件⽬录下,⼀般为 /usr/local/nginx/conf/nginx.conf;

yum 安装的 nginx,主配置 ⽂件位于 /etc/nginx/nginx.conf。 nginx.conf 配置⽂件由指令控制的模块组成。

指令分为简单指令和块指令,⼀个简单指令由名称和参数组成,空格分隔,分号结尾,如:listen 80;。

块指令与简单指令相同的结构,但不是以分号结尾,⽽是以⼤括 号包围的组附加指令结束,如:server { }。

2、 nginx 块指令

全局块:配置nginx全局的指令

events 块:配置 nginx 与⽤户连接的相关指令,如: events { }。

http 块:提供HTTP服务,如:http { }。

server 块:配置虚拟主机,⼀个http可以有多个server,如: server { }。

location 块:匹配URL后做什么动作或者跳转到⽹⻚的哪⾥, 如:location { }。

 [root@YH2 nginx]# vim  /usr/local/nginx/conf/nginx.conf //nginx主配置⽂件
 1 
 2 #user nobody;    //配置运⾏nginx的⽤户和组,(全局块)
 3 worker_processes  1;    //设置worker的进程数量
 4 
 5 #error_log logs/error.log;    //错误⽇志的路径信息
 6 #error_log logs/error.log notice;     //notice等级的错误⽇志路径信息(等级可修改或添加)
 7 #error_log logs/error.log info;     //info等级的错误⽇志路径信息(等级可添加或修改)
 8
 9 #pid       logs/nginx.pid;    //pid的⽂件路径
 10 
 11 
 12 events {      //events块
 13     worker_connections  1024;     //每个进程最多能处理多少个连接
 14 }
 15 
 16 
 17 http {      //http块,设定http服务器,利⽤它的反向代理功能提供负载均衡⽀持
 18     include       mime.types;     //指定⽂件拓展名和⽂件类型映射表
 19     default_type application/octet-stream;     //指定⽂件类型 
 20
 21     #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
 22     #                 '$status $body_bytes_sent "$http_referer" '
 23     #                 '"$http_user_agent" "$http_x_forwarded_for"';
 24 
  //上⾯注释的三⾏为nginx程序内部变量
 25     #access_log logs/access.log main;     //设定访问⽇志的路径及格式
 26 
 27     sendfile       on;    //指定nginx是否调⽤sendfile函数来输出⽂件,对于普通应⽤必须设定为no
 28     #tcp_nopush     on;   //放置⽹络阻塞
 29 
 30     #keepalive_timeout 0;    //连接超过的时间设置
 31     keepalive_timeout  65;
 32 
 33     #gzip on;    //开启gzip压缩
 34 
 35     server {        // server块,配置各种虚拟主机
 36         listen       80; //设置监听端⼝
 37         server_name localhost;    //配置的域名信息,⼀个server可以对应⼀个域名信息
 38 
 39         #charset koi8-r;    //字符集,utf-8为中⽂字符集
 40 
 41         #access_log logs/host.access.log main;    //设定本虚拟主机的访问⽇志和⽇志类型
 42 
 43         location / {     // location块,代表url的跳转,“/”后⾯写⼊的内容代表我们在浏览器地址栏输⼊的域名或IP地址的后续访问路径
 44             root   html;      //服务器的默认⽹站根⽬录位置
 45             index index.html index.htm;      //⾸⻚索引⽂件名称
 46         }
 48         #error_page 404    /404.html;        //错误提示⻚⾯
 49 
 50         # redirect server error pages to the static p   age /50x.html
 51         #
 52         error_page   500 502 503 504 /50x.html;     //错误提示⻚⾯
 53         location = /50x.html {
 54             root   html;
 55         }        //每个花括号都会与前⾯的对应
  ......省略部分注释内容.......
 79     }      //这个花括号对应的是 server 的 
 ...........................................................
 117 }        //这个花括号对应的是 http 的 “{”
8、以 systemctl 控制 nginx
 脚本启动nginx
 [root@sla ~]# vim nginx.sh
 #!/bin/bash
 /usr/local/nginx/sbin/nginx  &> /dev/null
 if [ $? -ne 0 ];then
       echo "nginx正在执行,或者80端口被占用"
 fi
 [root@sla ~]# sh nginx.sh
 配置systemctl控制nginx
 [root@sla ~]# ls /usr/lib/systemd/system
 [root@sla ~]# vim /usr/lib/systemd/system/nginx.service
 [Unit]
 Description=nginx
 After=network.target
 [Service]
 Type=forking
 PIDFile=/usr/local/nginx/logs/nginx.pid
 ExecStart=/usr/local/nginx/sbin/nginx
 ExecReload=/usr/local/nginx/sbin/nginx -s reload
 ExecStop=/usr/local/nginx/sbin/nginx -s stop
 PrivateTmp=Flase
 [Install]
 WantedBy=multi-user.target
 [root@sla ~]# systemctl daemon-reload   //重载systemctl的配置⽂件,以便nginx.service⽣效
 [root@sla ~]# reboot
 [root@sla ~]# systemctl stop nginx   //停用成功
注意:如果直接使⽤ nginx 命令对程序进⾏控制,那么不可以再⽤ systemctl服务控制命令对 nginx 进⾏后续操作。

⽐如:我现在使⽤了 nginx 命令直接启动了 nginx 程序,如果此时我对 nginx 的主配置⽂件做出了修改想要重新载⼊主配置⽂件,那么不能使⽤systemctl reload nginx.service 重载 nginx 配置,或 systemctl stop nginx.service 停⽌ nginx 程序,只能使⽤ nginx -s reload 重载配置,或 nginx -s stop 停⽌服务。

监控模块的应用
 添加监控模块(修改配置文件)
 [root@sla nginx]# vim /usr/local/nginx/conf/nginx.conf   //在location模块下面添加新模块status
          location / {
             root   html;
             index  index.html index.htm;
         }
          location /status {
             stub_status on;
             access_log off;
         }
 [root@sla nginx]# systemctl restart nginx

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

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

相关文章

第一 二章 小车硬件介绍-(全网最详细)基于STM32智能小车-蓝牙遥控、避障、循迹、跟随、PID速度控制、视觉循迹、openmv与STM32通信、openmv图像处理、smt32f103c8t6

第一篇-STM32智能小车硬件介绍 后续章节也放这里 持续更新中&#xff0c;视频发布在小B站 里面。这边也会更新。 B站视频合集: STM32智能小车V3-STM32入门教程-openmv与STM32循迹小车-stm32f103c8t6-电赛 嵌入式学习 PID控制算法 编码器电机 跟随 小B站链接:https://www.bilib…

贪心算法—股票交易时机Ⅱ

在此前我们已经介绍过贪心算法以及股票交易时机Ⅰ&#xff0c;有需要的话可以移步至贪心算法_Yuan_Source的博客-CSDN博客 题目介绍 122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第…

【Linux】问题解决:yum repolist出现“!”号

问题描述&#xff1a;在运行 yum repolist 时&#xff0c;出现以下状况&#xff1a; 原因&#xff1a;表示仓库里有过期的元数据&#xff0c;并不是最新版本。 解决方法&#xff1a; 清楚过期缓存 yum clean all 快速创建新yum缓存 yum makecache fast 结果&#xff1a;…

Qt——QTCreater ui界面如何统一设置字体

第一步&#xff1a;来到 ui 设计界面&#xff0c;鼠标右键点击 改变样式表 第二步&#xff1a;选择添加字体 第三步&#xff1a;选择字体样式和大小&#xff0c;点击 ok 第四步&#xff1a;点击ok或apply&#xff0c;完成设置

基于100G-PAM4技术的LinkX 线缆

LinkX线缆专注于加速数据中心和人工智能计算系统&#xff0c;这些产品不仅提供了高数据传输速率&#xff0c;还在设计上特别优化了低延迟性能&#xff0c;以满足现代计算系统对速度和效率的高要求。 一、主要特点与技术规格 1、传输距离与速率 数据中心应用&#xff1a;支持…

用 Bytebase 实现批量、多环境、多租户数据库的丝滑变更

Bytebase 提供了多种功能来简化批量变更管理&#xff0c;适用于多环境或多租户情况。本教程将指导您如何使用 部署配置 和 数据库组 在不同场景下进行数据库批量变更。 默认流水线 vs 部署配置 图片数据库 vs 数据库组 1. 准备 请确保已安装 Docker&#xff0c;如果本地没有重…

Ubuntu 24.04 LTS Noble安装OpenSSH服务器

OpenSSH 服务器在 Ubuntu Linux 上提供安全外壳 ( SSH) 协议&#xff0c;以便远程管理系统&#xff0c;同时提供高级别的加密&#xff0c;确保安全。虽然许多 Linux 系统默认配备 OpenSSH 服务器&#xff0c;但在 Ubuntu 24.04 上&#xff0c;我们必须手动安装它。因此&#x…

新版Next.js 15中5个令人惊叹的特性

前端岗位内推来了 Next.js 15已经到来&#xff0c;一切比以往更好&#xff01; 从全新的编译器到700倍更快的构建时间&#xff0c;创建具有卓越性能的全栈Web应用从未如此简单。 让我们探索v15的最新特性&#xff1a; 1. create-next-app升级&#xff1a;更清晰的UI&#xff0c…

【Spring Boot】手撕搜索引擎项目,深度复盘在开发中的重难点和总结(长达两万6千字的干货,系好安全带,要发车了......)

目录 搜索引擎搜索引擎的核心思路 一、解析模块1.1 枚举所有文件1.2 解析每个文件的标题&#xff0c;URL以及正文1.2.1 解析标题1.2.2 解析URL1.2.3 解析正文 1.3 线程池优化代码 二 、创建排序模块2.1 构建正排索引2.2 构建倒排索引2.3 序列化2.4 反序列化 三、搜索模块3.1 引…

CTF web cookie考题

CTF web cookie考题 题目名称&#xff1a;cookie 题目名称&#xff1a;cookie 1.进入服务器界面 &#xff1a; 2.打开 浏览器内 ——>开发者工具 网络 查看 或按F12 3. 根据自己服务器地址 后缀加入\cookie.php 进入查看 4.进入cookie.php文件 点击文件查看 5.找出flag

2023华为OD面试手撕代码经验分享

我们先来看下这个同学的面试经历吧&#xff0c;非常有借鉴的意义。 【22届考研渣渣的od求职之旅&#xff0c;推荐一下两个人&#xff0c;德科hr和牛客的老哥】 "*********"&#xff0c;hr给了机会吧&#xff0c;一开始我都没想到od这边。 还有我关注里面的老哥&#…

postgresql启动故障【已解决】

故障原因 暂时未知&#xff0c;电脑重启后postgresql无法正常运行&#xff0c;尝试重启遇到如下错误 本地计算机 上的 postgresql-x64-12 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。 排查过程 查看系统日志&#xff0c;发现pid已存在【计算机管理——…

sqli-labs-master less1-less6

目录 通关前必看 1、判断是否存在sql注入以及是字符型还是数值型&#xff1a; 2、各种注入方式以及方法 有回显型&#xff1a; 报错注入&#xff08;只有ok和no的提示以及报错提示&#xff09;&#xff1a; 详细思路&#xff0c;后面的题都可以这样去思考 关卡实操 less…

vue2中使用jsx基础

1、基本的模板 <script lang"jsx"> export default {name: demo1,// 数据定义data() {return {info: {age: 18,}}},created() {},methods: {},render() {return (<div><div>我是小明&#xff0c;今年{this.info.age}</div></div>)} }…

逐行重现 GPT-2:第 2 部分 - 硬件优化

Andrej Karpathy 的“让我们重现 GPT-2 (124M)”第 2 部分中的硬件优化 欢迎来到雲闪世界。为了撰写这篇博文&#xff0c;我在 Google Colab 免费提供的 NVIDIA T4 GPU 和 Lambda Labs 的 NVIDIA A100 GPU 40GB SXM4 上都进行了优化。Karpathy 介绍的大多数优化都是针对 A100 或…

MES系统在数字化转型中的核心作用与影响

数字化转型是企业利用数字技术改变其业务模式、运营方式、组织结构、产品服务等方面的过程&#xff0c;旨在提高效率、降低成本、增强竞争力并实现可持续发展。数字化转型涉及多个层面&#xff0c;主要包括以下几个方面&#xff1a; 数字化转型转什么 转战略&#xff1a;由构…

VLC实现视频文件转RTSP流

1.选择本地文件 2.创建流 现在已经开始推流了&#xff1a; 3.播放上面创建的流 访问地址&#xff1a;rtsp://:8554/test111

OJ-0802

题目 分析 要点&#xff1a;在排队的基础上移动学生位置&#xff0c;实现要求的分组&#xff0c;分组的顺序不做要求&#xff0c;求移动学生次数的最小值。 实现方案&#xff1a;考虑Map 参考 解题思路&#xff1a; 1.建立索引字典:将学生目前排队情况转换成索引字典,其中键…

使用Git管理ECAD软件元器件库

在日常工作中&#xff0c;很多工程师习惯维护和使用自己的元器件库&#xff0c;这样可以方便的查找和使用元器件。但是&#xff0c;如果元器件库中的元器件数量较多&#xff0c;且元器件的版本较多&#xff0c;那么维护元器件库就会变得非常困难。还有&#xff0c;企业中的研发…

基于JAVA的进销存管理系统的设计与实现

点击下载源码 基于JAVA的进销存管理系统的设计与实现 摘 要 进入21世纪以来&#xff0c;商业管理中需要处理的数据和信息越来越多。大量的数据和繁杂的数据使得古老的手工处理数据的方式渐渐显得力不从心。甚至有些信息处理的方式在手工处理的模式下是根本无法是实现的&…