Linux部署lomp环境,安装typecho、WordPress博客

news2024/11/18 7:38:43

部署lomp环境,安装typecho、WordPress博客

  • 一、环境要求
    • 1.1.版本信息
    • 1.2.准备阿里云服务器【新用户免费使用三个月】
    • 1.3.准备远程工具【FinalShell】
  • 二、Linux下安装openresty
  • 三、Linux下安装Mysql
  • 四、安装Apache【此步骤可省略】
    • 4.1.安装Apache服务及其扩展包
    • 4.2.Apache服务相关命令
    • 4.3.检查Apache状态
    • 4.4.查看其配置文件位置
    • 4.5.如果想修改默认页面,可以修改指定目录中 index.html 内容
    • 4.6.开放centos7的80和3306端口,配置防火墙相关命令
    • 4.7.打开浏览器输入ECS服务器的公网IP,如果显示如下图的测试页面表示Apache服务安装成功。
  • 五、remi扩展源安装PHP
    • 5.1.PHP官网
    • 5.2.安装remi扩展源
    • 5.3.安装yum管理工具
    • 5.4.安装php7.4
    • 5.5.查看安装结果
    • 5.6.建立软连接
    • 5.7.启动PHP
    • 5.8.修改php-fpm的配置
    • 5.9.创建PHP测试页面
    • 5.10.修改nginx配置文件,使nginx支持php
    • 5.11.重启openresty服务
    • 5.12.查看openresty运行状态来判断是否成功
    • 5.13.打开浏览器,访问http://<ECS公网IP>:8080/info.php,显示如下页面表示PHP安装成功
    • 5.14.出现问题解决
      • 5.14.1.CentOS 64 编译PHP出现 error: Cannot find ldap libraries in /usr/lib
      • 5.14.2.编译安装PHP7.4时出现configure: error: Package requirements (oniguruma) were not met
      • 5.14.3.Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met
  • 六、搭建博客【WordPress】
    • 6.1.创建文件夹管理
    • 6.2.下载Wordpress安装包并解压
    • 6.3.修改WordPress配置文件wp-config.php
    • 6.4.创建存储博客网站内容的数据库
    • 6.5.配置MySQL的安全性
    • 6.6.输入exit退出数据库
    • 6.7.修改openresty配置文件并重启
    • 6.8.防火墙放行8080端口
    • 6.9.确保服务启动
    • 6.10.FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
    • 6.11.打开浏览器,访问http://<ECS公网IP>:8080
    • 6.12.博客页面进行相关设置
  • 七、安装typecho博客
    • 7.1.创建文件夹管理并下载
    • 7.2.修改openresty配置文件
    • 7.3.创建数据库typecho
    • 7.4.打开浏览器,访问http://<ECS公网IP>:8081
    • 7.5.博客页面进行相关设置
    • 7.6.Typecho点击前台链接或者后台登录时出现404的解决方法
    • 7.7.配置Joe主题
    • 7.8.关闭【Bye Bye】
  • endl

一、环境要求

1.1.版本信息

CentOS 7.9
openresty 1.25.3.1
Mysql 5.7
PHP 7.4.33

在这里插入图片描述

1.2.准备阿里云服务器【新用户免费使用三个月】

阿里云服务器链接专享:https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=yu4fhct7

在这里插入图片描述

1.3.准备远程工具【FinalShell】

官网:http://www.hostbuf.com/
下载链接:http://www.hostbuf.com/t/988.html

在这里插入图片描述
在这里插入图片描述

二、Linux下安装openresty

参考链接:https://blog.csdn.net/qq_45740503/article/details/135887895

三、Linux下安装Mysql

参考链接:https://blog.csdn.net/qq_45740503/article/details/135617610

四、安装Apache【此步骤可省略】

4.1.安装Apache服务及其扩展包

yum -y install httpd httpd-manual httpd-devel mod_ssl mod_perl

4.2.Apache服务相关命令

#启动Apache服务
systemctl start httpd

#重启Apache服务
systemctl restart httpd

# 查看Apache状态
systemctl status httpd

#停止Apache服务
systemctl stop httpd

# 设置Apache服务开机自启动
systemctl enable httpd

4.3.检查Apache状态

# 查看Apache状态
systemctl status httpd

# 检查apache软件版本
rpm -qa | grep httpd

# 检查apache的进程
ps -ef | grep apache

在这里插入图片描述
在这里插入图片描述

4.4.查看其配置文件位置

rpm -qc httpd

在这里插入图片描述

配置文件主目录: /etc/httpd/conf/http.conf

默认发布目录是:/var/www/html

子配置文件目录 /etc/httpd/conf.d/*

默认关联上下文的情况是 httpd_sys_content_t

通找到index 进行添加默认访问目录,其访问顺序分先后次序

apache 日志文件位置 :/etc/httpd/logs/*

apache 的默认用户为apache

apache 有同步阻塞功能,使用的意义是在有多个文件时是顺序访问的

4.5.如果想修改默认页面,可以修改指定目录中 index.html 内容

# 目录地址
cd /usr/share/httpd/noindex

4.6.开放centos7的80和3306端口,配置防火墙相关命令

方法1 直接关闭防火墙,开启系统所有端口
systemctl stop firewalld

方法2 防火墙放行80端口【推荐】
//放行80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
//让防火墙通过mysql的3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//使能防火墙生效 
firewall-cmd --reload
//查看是否生效
firewall-cmd --list-ports

在这里插入图片描述
在这里插入图片描述

4.7.打开浏览器输入ECS服务器的公网IP,如果显示如下图的测试页面表示Apache服务安装成功。

说明:在实例页面可查看到ECS服务器的公网IP。
在这里插入图片描述

五、remi扩展源安装PHP

5.1.PHP官网

官网:https://www.php.net/
在这里插入图片描述

5.2.安装remi扩展源

yum install -y epel-release

yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

5.3.安装yum管理工具

yum install -y yum-utils

5.4.安装php7.4

yum search php74

yum install -y php74-php-cli php74-php-common php74-php-devel \
php74-php-embedded php74-php-fpm php74-php-gd php74-php-mbstring \
php74-php-mysqlnd php74-php-pdo php74-php-opcache php74-php-xml php74-php-soap php74-php-zip

在这里插入图片描述
在这里插入图片描述

5.5.查看安装结果

yum list installed | grep php

在这里插入图片描述

5.6.建立软连接

通过remi安装的php的指令是php74,建立一下软链接

find / -name php74

ln -s /opt/remi/php74/root/usr/bin/php /usr/local/bin/php

在这里插入图片描述

5.7.启动PHP

start、stop、restart、enable、status、restart
php -v

# 启动fpm
systemctl start php74-php-fpm

# 开机自启
systemctl enable php74-php-fpm

在这里插入图片描述

5.8.修改php-fpm的配置

vim /etc/opt/remi/php74/php-fpm.d/www.conf
#创建 www的用户
useradd www
;把user = apache和group = apache 改成

user = www
group = www

;在这个配置文件中前面加上;就是注释
;user = apache
;group = apache
systemctl restart php74-php-fpm

在这里插入图片描述

在这里插入图片描述

5.9.创建PHP测试页面

mkdir -p /opt/www
echo "<?php phpinfo(); ?>" > /opt/www/info.php

在这里插入图片描述

5.10.修改nginx配置文件,使nginx支持php

# 备份文件
mv /usr/local/openresty/nginx/conf/nginx.conf /usr/local/openresty/nginx/conf/nginx.conf.bak

vi /usr/local/openresty/nginx/conf/nginx.conf

主要添加内容:

user www;

server {
        listen 8080;
        server_name localhost;

        location / {
        		#修改html路径
                root /opt/www;
                # 添加index.php
                index index.php index.html;
        }
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
                root /opt/www;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_pass  127.0.0.1:9000;
                include fastcgi_params;
        }
    }

完整内容:

user www;
# 指令名	指令值;  #全局块,主要设置Nginx服务器整体运行的配置指令
worker_processes  1;  # 默认为1,表示开启一个业务进程

error_log  logs/error.log;

# events块,主要设置,Nginx服务器与用户的网络连接,这一部分对Nginx服务器的性能影响较大
events { # 事件驱动模块
	accept_mutex on; #设置Nginx网络连接序列化,防止多个进程对连接的争抢
	multi_accept on; #设置Nginx的worker进程是否可以同时接收多个网络请求
	worker_connections 1024; # 设置Nginx单个worker进程最大的连接数
	use epoll; #设置Nginx使用的事件驱动模型,使用epoll函数来优化Ngin
}

# http块,是Nginx服务器配置中的重要部分,代理、缓存、日志记录、第三方模块配置...  
http {
    include       mime.types; # 引入http mime类型
    default_type  application/octet-stream; # 如果mime类型没有匹配上,默认使用二进制流的方式传输

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;

    sendfile        on; # 使用limux的sendfile(socket,file,len)高效网络传输,也就是数据0拷贝
    tcp_nopush      on; # 主要是用来提升网络包的传输效率
    tcp_nodelay     on; # 提高网络包传输的实时性
    keepalive_timeout  65;

	# server块,是Nginx配置和虚拟主机vhost相关的内容
    server { # 虚拟主机配置
        listen       80; # 监听端口号80
        server_name  localhost; # 域名、主机名
        #  location块,基于Nginx服务器接收请求字符串与location后面的值进行匹配,对特定请求进行处理
        location / { # 匹配路径
            root   html; # 文件根目录
            index  index.html index.htm; # 默认页名称
        }
        error_page   500 502 503 504  /50x.html; # 报编码错误对应页面
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen 8080;
        server_name localhost;

        location / {
        		#修改html路径
                root /opt/www;
                # 添加index.php
                index index.php index.html;
        }
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
                root /opt/www;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_pass  127.0.0.1:9000;
                include fastcgi_params;
        }
    }

}

在这里插入图片描述
在这里插入图片描述

5.11.重启openresty服务

systemctl restart openresty

5.12.查看openresty运行状态来判断是否成功

systemctl status openresty

在这里插入图片描述

5.13.打开浏览器,访问http://<ECS公网IP>:8080/info.php,显示如下页面表示PHP安装成功

http://192.168.229.141:8080/info.php

在这里插入图片描述

5.14.出现问题解决

5.14.1.CentOS 64 编译PHP出现 error: Cannot find ldap libraries in /usr/lib

cp -frp /usr/lib64/libldap* /usr/lib/

5.14.2.编译安装PHP7.4时出现configure: error: Package requirements (oniguruma) were not met

网址: https://github.com/kkos/oniguruma

mkdir -p /php/modules

cd /php/modules

wget https://github.com/kkos/oniguruma/releases/download/v6.9.9/onig-6.9.9.tar.gz

tar -zxf onig-6.9.9.tar.gz

./configure --prefix=/usr --libdir=/lib64
#64位的系统一定要标识  --libdir=/lib64 否则还是不行

make && make install

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.14.3.Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met

CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
  CMake 3.5.0 or higher is required.  You are running version 2.8.12.2


-- Configuring incomplete, errors occurred!
configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:

No package 'libzip' found
No package 'libzip' found
No package 'libzip' found

解决:

提示cmake版本过低,需新版本,则需要重新安装cmake
# 移除旧的cmake
yum remove cmake
# 安装cmake
cd /php/modules
wget https://cmake.org/files/v3.9/cmake-3.9.1-Linux-x86_64.tar.gz
# 这个cmake压缩包不是源码包,解压后直接用
tar -zxf cmake-3.9.1-Linux-x86_64.tar.gz
mv cmake-3.9.1-Linux-x86_64 /opt/cmake-3.9.1
# 创建软链接
ln -sf /opt/cmake-3.9.1/bin/*  /usr/bin/
# 查看版本
cmake --version


# libzip 编译生成静态库
# 移除旧的libzip
yum remove libzip
cd /php/modules

wget https://libzip.org/download/libzip-1.3.2.tar.gz

tar -zxf libzip-1.3.2.tar.gz

cd libzip-1.3.2

./configure --prefix=/usr/local/libzip-1.3.2
make && make install

vim /etc/profile

export PKG_CONFIG_PATH='/usr/local/libzip-1.3.2/lib/pkgconfig'
source /etc/profile

mkdir build
cd build

cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local/libzip-1.10.1 ..
cmake --build .
cmake --install .

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、搭建博客【WordPress】

WordPress官网:https://cn.wordpress.org/

6.1.创建文件夹管理

mkdir -p /wordpress/core
cd /wordpress/core

6.2.下载Wordpress安装包并解压

wget https://cn.wordpress.org/wordpress-6.4.2-zh_CN.tar.gz

tar -zxf wordpress-6.4.2-zh_CN.tar.gz

在这里插入图片描述

6.3.修改WordPress配置文件wp-config.php

  • database_name_here为之前步骤中创建的数据库名称,本示例为wordpress。
  • username_here为MySQL数据库的用户名,本示例为root。
  • password_here为MySQL数据库的登录密码,本示例为Mysql.123456。
cd /wordpress/core/wordpress

cp wp-config-sample.php wp-config.php

vi wp-config.php

# 设置wordpress的权限
chown -R www.www /wordpress/core/wordpress

systemctl restart php74-php-fpm
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define( 'DB_NAME', 'wordpress' );

/** MySQL数据库用户名 */
define( 'DB_USER', 'root' );

/** MySQL数据库密码 */
define( 'DB_PASSWORD', '123456' );

/** MySQL主机 */
define( 'DB_HOST', '192.168.229.141:3306' );

/** 创建数据表时默认的文字编码 */
define( 'DB_CHARSET', 'utf8' );

/** 数据库整理类型。如不确定请勿更改 */
define( 'DB_COLLATE', '' );

在这里插入图片描述

在这里插入图片描述

6.4.创建存储博客网站内容的数据库

systemctl start mysqld

mysql -u root -p

create database wordpress; 

show databases;

在这里插入图片描述
在这里插入图片描述

6.5.配置MySQL的安全性

mysql_secure_installation
[root@localhost mysql]# mysql_secure_installation
## 默认已用空密码登录
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.

##是否安装密码强度验证模块,看自己需求
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: no

## 设置root的密码
Please set the password for root here.
New password:
Re-enter new password:

## 是否删除匿名用户,可删
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.

## 默认情况下只允许本机访问,是否开启远程访问,按自己需求
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

## 是否删除测试数据库,可删
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

## 是否立即重新加载刚才的配置,选择是
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
## 配置完毕
All done!

6.6.输入exit退出数据库

在这里插入图片描述

6.7.修改openresty配置文件并重启

vi /usr/local/openresty/nginx/conf/nginx.conf

systemctl restart openresty

在这里插入图片描述

在这里插入图片描述

6.8.防火墙放行8080端口

//放行8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
//使能防火墙生效 
firewall-cmd --reload
//查看是否生效
firewall-cmd --list-ports

6.9.确保服务启动

systemctl status php74-php-fpm

systemctl status openresty

systemctl status mysqld

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.10.FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream

权限不足停用selinux

# 查看状态
sestatus

# 如果查看不是disabled状态,我们可以通过修改配置文件来进行设置,修改SELINUX=disabled,然后重启下系统即可生效。
vim /etc/selinux/config

# 重启系统
reboot

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.11.打开浏览器,访问http://<ECS公网IP>:8080

http://192.168.229.141:8080/

在这里插入图片描述

6.12.博客页面进行相关设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、安装typecho博客

7.1.创建文件夹管理并下载

typecho博客官网下载:https://typecho.org/download

mkdir -p /typecho

cd typecho

wget https://github.com/typecho/typecho/releases/latest/download/typecho.zip

unzip typecho.zip

chmod -R 777 /typecho	# 直接给 typecho 目录及子文件赋予所有权限,防止安装时出现其他问题

在这里插入图片描述
在这里插入图片描述

7.2.修改openresty配置文件

vi /usr/local/openresty/nginx/conf/nginx.conf

systemctl reload openresty
server {
        listen 8081;
        server_name localhost;

        location / {
                #修改html路径为解压博客文件路径
                root /typecho;
                # 添加index.php
                index index.php index.html;
        }
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ .*\.php(\/.*)*$  {
                root /typecho;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_pass  127.0.0.1:9000;
                include fastcgi_params;
        }
    }

在这里插入图片描述

7.3.创建数据库typecho

# 进入数据库
mysql -u root -p
自己的密码

# 创建数据库
create database typecho;

在这里插入图片描述

7.4.打开浏览器,访问http://<ECS公网IP>:8081

http://192.168.229.141:8081/

在这里插入图片描述

7.5.博客页面进行相关设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.6.Typecho点击前台链接或者后台登录时出现404的解决方法

官方给的解决方式是nginx.conf 里的 location 设置成这样

location ~ .*\.php$

要支持 pathinfo,需要改成

location ~ .*\.php(\/.*)*$
#location ~ [^/]\.php(/|$)

在这里插入图片描述
在这里插入图片描述

7.7.配置Joe主题

Joe主题网站:https://github.com/HaoOuBa/Joe.git

https://github.com/HaoOuBa/Joe.git

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

7.8.关闭【Bye Bye】

systemctl stop openresty

systemctl stop php74-php-fpm

systemctl stop mysqld

# 关机
shutdown now

endl

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

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

相关文章

【React教程】(2) React之JSX入门与列表渲染、条件渲染详细代码示例

目录 JSX环境配置基本语法规则在 JSX 中嵌入 JavaScript 表达式在 JavaScript 表达式中嵌入 JSXJSX 中的节点属性声明子节点JSX 自动阻止注入攻击在 JSX 中使用注释JSX 原理列表循环DOM Elements 列表渲染语法高亮 条件渲染示例1&#xff1a;示例2&#xff1a;示例3&#xff08…

使用Docker安装Jenkins,并能够在该Jenkins中使用Docker

1. 构建Dockerfile 试错1 参考https://medium.com/manav503/how-to-build-docker-images-inside-a-jenkins-container-d59944102f30 按照文章里所介绍的&#xff0c;实现在Jenkins容器环境中依然能够调用Docker&#xff0c;需要做到以下几步 下载Jenkins镜像将环境中的docke…

解析PDF二维码:数字时代文件管理的创新之道

随着数字时代的来临&#xff0c;文件管理方式正经历着翻天覆地的变革。在这个变革的浪潮中&#xff0c;PDF二维码作为一种创新的技术手段&#xff0c;正逐渐引起人们的关注。本文将深入探讨PDF二维码的概念、应用领域以及在文件管理中的前景。 一、PDF二维码的概念 PDF二维码…

2024-01-29 ubuntu 用脚本设置安装交叉编译工具链路径方法,设置PATH环境变量

一、设置PATH环境变量的方法,建议用~/.bash_profile的方法&#xff0c;不然在ssh登录的时候可能没有设置PATH. 二、下面的完整的脚本&#xff0c;里面的echo "export PATH$build_toolchain_path:\$PATH" >> $HOME/.bashrc 就是把交叉编译路径写写到.bashrc设置…

笔记本从零安装ubuntu系统+多种方式远程控制

文章目录 前言ubuntu启动盘Windows远程Ubuntu安装XrdpXrdp卡顿问题解决Xrdp 二次登录会死机的问题Xrdp 卡顿问题 MobaXtermRustDesk 外网远程VNC 远程SSH远程其它设置 总结 前言 我有台老笔记本&#xff0c;上大学第一年的时候买的&#xff0c;现在已经不怎么好用了。打算刷个…

IS-IS:07 ISIS缺省路由

IS-IS 有两种缺省路由&#xff0c;第一种缺省路由是由 level-1 路由器在特定条件下自动产生的&#xff0c;它的下一跳是离它最近的 &#xff08;cost 最小&#xff09;level-1-2路由器。第二种缺省路由是 IS-IS 路由器上使用 default-route-advertise 命令产生并发布的。 本次实…

最后50个CC龙年红包封面,免费速领!还有更多......高中生也卷起Steam来了

微信视频号之前是送了我3张新年红包封面&#xff0c;一共是150个&#xff0c;但不太会操作浪费了100个&#xff0c;只能我自己用来送老铁了。 晓衡又做了一条 Cocos 小可爱 CC 封面红包&#xff0c;特别适合送女生或给小朋友们&#xff0c;点击视频领取&#xff01;还好微信又送…

Vue学习之使用开发工具创建项目、gitcode管理项目

Vue学习之使用开发工具创建项目、gitcode管理项目 翻阅与学习了vue的开发工具&#xff0c;通过对比最终采用HBuilderX作为开发工具&#xff0c;以下章节对HBuilder安装与基础使用介绍 1. HBuilder 下载 从HbuildX官网&#xff08;http://www.dcloud.io/hbuilderx.html&#…

Servlet板块:文件上传下载操作 来自【汤米尼克的JAVAEE全套教程专栏】

Servlet板块&#xff1a;文件上传下载操作 一、文件上传&#xff08;1&#xff09;前端内容&#xff08;2&#xff09;后端内容 二、文件下载&#xff08;1&#xff09;前端的超链接下载&#xff08;2&#xff09;后端下载 一、文件上传 &#xff08;1&#xff09;前端内容 使…

Qt应用软件【协议篇】Modbus详细介绍

文章目录 概述Modbus 485协议概述在工业自动化中的应用 通信模式数据模型功能码 Modbus RTU示例 1&#xff1a;读取保持寄存器示例 2&#xff1a;写入单个线圈示例 3&#xff1a;写入多个保持寄存器报文传输 Modbus ASCII报文示例报文传输 Modbus TCP报文示例报文传输 概述 在…

《HTML 简易速速上手小册》第7章:HTML 多媒体与嵌入内容(2024 最新版)

文章目录 7.1 在HTML中嵌入视频和音频7.1.1 基础知识7.1.2 案例 1&#xff1a;嵌入视频文件7.1.3 案例 2&#xff1a;嵌入音频文件7.1.4 案例 3&#xff1a;创建一个视频和音频混合的播放列表 7.2 使用 <iframe> 嵌入外部内容7.2.1 基础知识7.2.2 案例 1&#xff1a;嵌入…

如何使用保留可探测字段参数的方法解决视频监控管理平台EasyCVR无法启动的问题

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

MySQL原理(二)存储引擎(1)概述

一、存储引擎介绍 1、概念&#xff1a; &#xff08;1&#xff09;MySQL中的数据用各种不下同的技术存储在文件中&#xff0c;每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力&#xff0c;这些不同的技术以及配套的功能在MySQL中称为存储引擎…

[GN] 设计模式——面向对象设计原则概述

文章目录 面向对象设计原则概述单一职责原则开闭原则里氏代换原则依赖倒转原则接口隔离原则合成复用原则迪米特法则 总结 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 面向对象设计原则概述 单一职责原则 一个类只负责一个功能领域中的相应职责 类…

C# 使用WMI监听进程的启动和关闭

写在前面 Windows Management Instrumentation&#xff08;WMI&#xff09;是用于管理基于 Windows 操作系统的数据和操作的基础结构。具体的API可以查看 WMI编程手册。 WMIC 是WMI的命令行管理工具&#xff0c;使用 WMIC&#xff0c;不但可以管理本地计算机&#xff0c;还可…

知识宣传手册该怎么制作?

​制作知识宣传手册是一个很好的方式来传播知识&#xff0c;提高公众对特定主题的了解。它们不仅能帮助我们传播重要信息&#xff0c;还能激发人们的求知欲&#xff0c;推动社会的进步。那么&#xff0c;如何制作一份引人入胜的知识宣传手册呢&#xff1f; 今天教大家一个很简单…

【云原生】docker-compose单机容器集群编排工具

目录 一、docker-compose容器编排的简介 二、docker-compose的使用 1、docker-compose的安装 2、docker-compose的配置模板文件yaml文件的编写 &#xff08;1&#xff09;布尔值类型 &#xff08;2&#xff09;字符串类型 &#xff08;3&#xff09;一个key有多个值 &am…

[React源码解析] Fiber

在React15及以前, Reconciler采用递归的方式创建虚拟Dom, 但是递归过程不可以中断, 如果组件的层级比较深的话, 递归会占用线程很多时间, 那么会造成卡顿。 为了解决这个问题, React16将递归的无法中断的更新重构为异步的可中断更新, Fiber架构诞生。 文章目录 1.Fiber的结构2…

Matlab基础语法

基础语法 %% Matlab基本的小常识 % (1)在每一行的语句后面加上分号(一定要是英文的哦;中文的长这个样子&#xff1b;)表示不显示运行结果 a 3; a 5% (2)多行注释:选中要注释的若干语句,快捷键CtrlR % a 3; % a 5% (3)取消注释:选中要取消注释的语句,快捷键CtrlT % 我想要取…

python字典JSON 和csv文件

JSON与Python字典 Python中的字典与JSON非常类似而且支持嵌套结构。Json通过key取值的过程和python字典通过索引取值过程完全一致。JavaScript数据类型&#xff08;值&#xff09;对应的Python数据类型&#xff08;值&#xff09; JSONPythonobjectdictarraylist/tuplestring…