打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战

news2024/10/5 15:32:02

前言

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,阿里云社区博客专家😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

文章目录

  • 前言
  • 一. 实验环境
  • 二.编译安装nginx
    • 2.1 准备nginx编译环境
      • 2.1.1 创建nginx目录
      • 2.1.2 下载nignx源码
      • 2.1.3 安装编译依赖包
    • 2.2 编译安装nginx
      • 2.2.1 解压nginx源码包
      • 2.2.2 编译nginx
      • 2.2.3 安装nginx
    • 2.3 添加nginx启动用户
    • 2.4 修改nginx目录所属
    • 2.5 添加环境变量
    • 2.6 添加nginx的service文件
    • 2.7 创建run文件夹
    • 2.8 修改配置文件
    • 2.9 添加关于wordpress的配置文件
    • 2.10 修改配置文件所属
    • 2.11 检查配置文件语法
  • 三.编译安装php
    • 3.1 准备编译环境
      • 3.1.1 安装依赖包
      • 3.1.2 创建php源码存储目录
      • 3.1.3 创建php安装目录
    • 3.2 编译安装php7.4
      • 3.2.1 下载php7.4源码包
      • 3.2.2 编译php7.4源码
      • 3.2.3 安装php7.4
    • 3.3 准备php配置文件
    • 3.4 添加启动文件
    • 3.5 修改配置文件
    • 3.6 创建php的日志目录
    • 3.7 检查配置文件语法
    • 3.8 准备php页面
    • 3.9 启动php
    • 3.10 检查php进程
    • 3.11 启动nginx
    • 3.12 检查nginx进程
    • 3.13 浏览器测试php
  • 四.编译安装MySQL5.7
    • 4.1 创建MySQL目录
    • 4.2 编译工具的准备
      • 4.2.1 准备boost库
      • 4.2.2 准备cmake工具
        • 4.2.2.1 安装依赖软件
        • 4.2.2.2 下载cmake工具源码
        • 4.2.2.3 编译cmake
    • 4.3 准备MySQL5.7源码包
    • 4.4 安装编译依赖包
    • 4.5 创建MySQL安装目录
    • 4.6 创建MySQL用户
    • 4.7 编译MySQL5.7
    • 4.8 安装MySQL5.7
    • 4.9 启动MySQL前的准备
      • 4.9.1 添加MySQL环境变量
      • 4.9.2 初始化MySQL数据库
    • 4.10 启动数据库
    • 4.11 修改数据库密码
    • 4.12 创建用于wordpress的数据库和MySQL用户
  • 五.部署wordpress
    • 5.1 下载wordpress资源包
    • 5.2 解压资源包
    • 5.3 修改wordpress文件所属
    • 5.4 修改nginx配置
      • 5.4.1 修改nginx配置文件
      • 5.4.2 检查语法
      • 5.4.3 重新读取
    • 5.5 安装wordpress
  • 六.总结

一. 实验环境

本次实验环境见下表

操作系统服务器IPhostname
centos7.910.0.0.7mufengrow7

如何查看相应的参数

二.编译安装nginx

2.1 准备nginx编译环境

2.1.1 创建nginx目录

[root@mufengrow7 ~]# mkdir -p /usr/local/src/nginx

代码注释:

  • -p:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录

2.1.2 下载nignx源码

[root@mufengrow7 ~]# cd /usr/local/src/nginx
[root@mufengrow7 nginx]# wget https://nginx.org/download/nginx-1.24.0.tar.gz

2.1.3 安装编译依赖包

[root@mufengrow7 nginx]# yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel gd-devel GeoIP-devel

2.2 编译安装nginx

2.2.1 解压nginx源码包

#解压nginx源码
[root@mufengrow7 nginx]# tar xf nginx-1.24.0.tar.gz
#进入nginx目录
[root@mufengrow7 nginx]# cd nginx-1.24.0/
#查看文件
[root@mufengrow7 nginx-1.24.0]# ls
auto     CHANGES.ru  configure  html     man     src
CHANGES  conf        contrib    LICENSE  README

2.2.2 编译nginx

#创建nginx目录
[root@mufengrow7 nginx-1.24.0]# mkdir -p /apps/nginx
[root@mufengrow7 nginx-1.24.0]# ./configure \
--prefix=/apps/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module  \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_gunzip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

2.2.3 安装nginx

[root@mufengrow7 nginx-1.24.0]# make && make install

2.3 添加nginx启动用户

[root@mufengrow7 nginx-1.24.0]# useradd -s /sbin/nologin nginx
[root@mufengrow7 nginx-1.24.0]# id nginx
uid=1001(nginx) gid=1001(nginx) groups=1001(nginx)

2.4 修改nginx目录所属

[root@mufengrow7 nginx-1.24.0]# chown -R nginx.nginx /apps/nginx/

2.5 添加环境变量

#添加nginx的环境变量
[root@mufengrow7 nginx-1.24.0]# vim /etc/profile.d/nginx.sh
export PATH=/apps/nginx/sbin:$PATH
#使变量生效
[root@mufengrow7 nginx-1.24.0]# source /etc/profile.d/nginx.sh

2.6 添加nginx的service文件

[root@mufengrow7 nginx-1.24.0]# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/apps/nginx/run/nginx.pid
ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target

2.7 创建run文件夹

根据上一节的文件配置,给nginx添加一个用于存储pid文件的目录。

[root@mufengrow7 nginx-1.24.0]# mkdir -p /apps/nginx/run/

2.8 修改配置文件

[root@mufengrow7 nginx-1.24.0]# vim /apps/nginx/conf/nginx.conf
user  nginx nginx; #修改nginx启动用户
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        run/nginx.pid; #修改pid位置
......
http {
    include       mime.types;
    default_type  application/octet-stream;
    include /apps/nginx/conf/conf.d/*.conf; #nginx能够读取conf.d的所有配置文件
......

2.9 添加关于wordpress的配置文件

#添加配置文件目录
[root@mufengrow7 nginx-1.24.0]# mkdir -p /apps/nginx/conf/conf.d
vim /apps/nginx/conf/conf.d/wordpreses.conf
server {
    listen 80;

    location / {
        root /data/nginx/wordpress;
        index index.php index.html index.htm;
    }

    location ~ \.php$ {
        root /data/nginx/wordpress;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

2.10 修改配置文件所属

[root@mufengrow7 nginx-1.24.0]# chown -R nginx.nginx /apps/nginx/conf/conf.d/

2.11 检查配置文件语法

[root@mufengrow7 nginx-1.24.0]# nginx -t
nginx: the configuration file /apps/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /apps/nginx/conf/nginx.conf test is successful

三.编译安装php

我们从wordpress的官方网站上查看关于wordpress系统要求:https://cn.wordpress.org/about/requirements/

从下面的截图我们可以知道新版本的wordpress需要

  • PHP7.4或更高的版本

  • MySQL5.7或更高的版本(MariaDB10.3或更高)

  • 但是也支持旧版本的PHP(PHP 5.6.20版本)环境和MySQL数据库(MySQL 5.0版本)

所以本次实验编译安装php7.4

3.1 准备编译环境

3.1.1 安装依赖包

[root@mufengrow7 ~]# yum -y install gcc openssl-devel libxml2-devel bzip2-devel libmcrypt-devel sqlite-devel oniguruma-devel

3.1.2 创建php源码存储目录

[root@mufengrow7 ~]# mkdir -p /usr/local/src/php7.4

3.1.3 创建php安装目录

[root@mufengrow7 php-7.4.33]# mkdir -p /apps/php74

3.2 编译安装php7.4

3.2.1 下载php7.4源码包

[root@mufengrow7 ~]# cd /usr/local/src/php7.4/
[root@mufengrow7 php7.4]# wget http://cn2.php.net/distributions/php-7.4.33.tar.xz

3.2.2 编译php7.4源码

编译的选项跟需求有关。

[root@mufengrow7 php7.4]# tar xf php-7.4.33.tar.xz

3.2.3 安装php7.4

[root@mufengrow7 php-7.4.33]# make && make install

3.3 准备php配置文件

[root@mufengrow7 php-7.4.33]# cp sapi/fpm/php-fpm.conf /apps/php74/etc/
[root@mufengrow7 php-7.4.33]# cp sapi/fpm/www.conf /apps/php74/etc/php-fpm.d/
[root@mufengrow7 php-7.4.33]# cp php.ini-production /etc/php.ini

3.4 添加启动文件

[root@mufengrow7 php-7.4.33]# cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/

3.5 修改配置文件

[root@mufengrow7 php-7.4.33]# vim /apps/php74/etc/php-fpm.d/www.conf
[www]
user = nginx
group = nginx
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.status_path = /pm_status
ping.path = /ping
access.log = /apps/php74/log/$pool.access.log
slowlog = /apps/php74/log/$pool.log.slow
#启动opcache加速
[root@mufengrow7 php-7.4.33]# vim /etc/php.ini
[opcache]
zend_extension=opcache.so
opcache.enable=1 #取消注释

3.6 创建php的日志目录

[root@mufengrow7 php-7.4.33]# mkdir -p /apps/php74/log/

3.7 检查配置文件语法

[root@mufengrow7 php-7.4.33]# /apps/php74/sbin/php-fpm -t
[03-May-2023 19:48:53] NOTICE: configuration file /apps/php74/etc/php-fpm.conf test is successful

3.8 准备php页面

[root@mufengrow7 php-7.4.33]# mkdir -p /data/nginx/wordpress
[root@mufengrow7 php-7.4.33]# vim /data/nginx/wordpress/index.php
<?php
phpinfo();
?>

3.9 启动php

[root@mufengrow7 php-7.4.33]# systemctl daemon-reload
[root@mufengrow7 php-7.4.33]# systemctl start php-fpm.service
[root@mufengrow7 php-7.4.33]# systemctl enable php-fpm.service

3.10 检查php进程

[root@mufengrow7 php-7.4.33]# ps -ef | grep php-fpm | grep -v grep
root       5807      1  0 19:53 ?        00:00:00 php-fpm: master process (/apps/php74/etc/php-fpm.conf)
nginx      5808   5807  0 19:53 ?        00:00:00 php-fpm: pool www
nginx      5809   5807  0 19:53 ?        00:00:00 php-fpm: pool www

3.11 启动nginx

[root@mufengrow7 php-7.4.33]# systemctl daemon-reload
[root@mufengrow7 php-7.4.33]# systemctl enable nginx
[root@mufengrow7 php-7.4.33]# systemctl start nginx

3.12 检查nginx进程

[root@mufengrow7 php-7.4.33]# ps -ef | grep nginx | grep -v grep
root       7551      1  0 18:25 ?        00:00:00 nginx: master process /apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
nginx      7552   7551  0 18:25 ?        00:00:00 nginx: worker process

3.13 浏览器测试php

浏览器访问:

10.0.0.7/index.php

访问结果:

四.编译安装MySQL5.7

4.1 创建MySQL目录

[root@mufengrow7 ~]# mkdir -p /usr/local/src/mysql

4.2 编译工具的准备

4.2.1 准备boost库

[root@mufengrow7 ~]# cd /usr/local/src/mysql/
[root@mufengrow7 mysql]# wget https://udomain.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
[root@mufengrow7 mysql]# tar xf boost_1_59_0.tar.gz -C /usr/local/
[root@mufengrow7 mysql]# ln -s /usr/local/boost_1_59_0 /usr/local/boost

为什么要使用boost的1.59版本?

因为MySQL的编译需要1.59版本,高版本编译MySQL会出现错误

4.2.2 准备cmake工具

4.2.2.1 安装依赖软件

[root@mufengrow7 mysql]# yum install -y gcc gcc-c++ make glibc automake autoconf libtool libssl-dev openssl openssl-devel

4.2.2.2 下载cmake工具源码

[root@mufengrow7 mysql]# wget https://github.com/Kitware/CMake/archive/refs/tags/v3.26.3.tar.gz

4.2.2.3 编译cmake

[root@mufengrow7 mysql]# tar xf v3.26.3.tar.gz
[root@mufengrow7 mysql]# cd CMake-3.26.3/
[root@mufengrow7 CMake-3.26.3]# ./bootstrap && gmake && gmake install

4.3 准备MySQL5.7源码包

[root@mufengrow7 CMake-3.26.3]# cd /usr/local/src/mysql/
[root@mufengrow7 mysql]# wget https://github.com/mysql/mysql-server/archive/refs/tags/mysql-5.7.42.tar.gz

4.4 安装编译依赖包

[root@mufengrow7 mysql]# yum install -y ncurses-devel gcc gcc-c++ ncurses bison make

4.5 创建MySQL安装目录

[root@mufengrow7 mysql]# mkdir -p /database/mysql/{data,tmp,binlog,logs}

4.6 创建MySQL用户

[root@mufengrow7 mysql]# groupadd mysql
[root@mufengrow7 mysql]# useradd mysql -s /sbin/nologin -M -g mysql
[root@mufengrow7 mysql]# id mysql
uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)

4.7 编译MySQL5.7

#解压源码
[root@mufengrow7 mysql]# tar xf mysql-5.7.42.tar.gz
#进入源码目录
[root@mufengrow7 mysql]# cd mysql-server-mysql-5.7.42/
#编译源码
[root@mufengrow7 mysql-server-mysql-5.7.42]# cmake . -DCMAKE_INSTALL_PREFIX=/database/mysql \
-DMYSQL_DATADIR=/database/mysql/data \
-DMYSQL_UNIX_ADDR=/database/mysql/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost

4.8 安装MySQL5.7

[root@mufengrow7 mysql-server-mysql-5.7.42]# make install

4.9 启动MySQL前的准备

4.9.1 添加MySQL环境变量

[root@mufengrow7 mysql-server-mysql-5.7.42]# echo 'export PATH=/database/mysql/bin:$PATH' >> /etc/profile
[root@mufengrow7 mysql-server-mysql-5.7.42]# source /etc/profile

4.9.2 初始化MySQL数据库

  1. 修改MySQL安装目录的属主与属组
[root@mufengrow7 mysql-server-mysql-5.7.42]# chown -R mysql.mysql  /database/mysql/
  1. 修改MySQL配置文件
[root@mufengrow7 mysql-server-mysql-5.7.42]# vim /etc/my.cnf
[client]
port = 3306                         
socket = /database/mysql/mysql.sock
default-character-set = utf8

[mysqld]
port = 3306
server_id = 1
user = mysql
basedir = /database/mysql
datadir = /database/mysql/data
tmpdir = /database/mysql/tmp
socket = /database/mysql/mysql.sock
pid_file = /database/mysql/mysql.pid
character_set_server = utf8
max_connections = 100
max_connect_errors = 10
log_error = /database/mysql/logs/mysql_5_7_37.err
log_bin = /database/mysql/binlog/mysql-bin

[root@mufengrow7 mysql-server-mysql-5.7.42]# chown mysql.mysql /etc/my.cnf
  1. 初始化数据库
#检查数据目录是否有文件,有文件的必须移走
[root@mufengrow7 mysql-server-mysql-5.7.42]# ls /database/mysql/data/
[root@mufengrow7 mysql-server-mysql-5.7.42]# mysqld --initialize-insecure --user=mysql --basedir=/database/mysql --datadir=/database/mysql/data

代码注释:

  • --initialize-insecure:初始化MySQL不设置root密码

  • --datadir:指定存储数据的目录

  1. 开启SSL连接
[root@mufengrow7 mysql-server-mysql-5.7.42]# mysql_ssl_rsa_setup --initialize-insecure --user=mysql --basedir=/database/mysql --datadir=/database/mysql/data
  1. 修改server-key.pem文件权限
[root@mufengrow7 mysql-server-mysql-5.7.42]# cd /database/mysql/data/
[root@mufengrow7 data]# chmod +r server-key.pem
[root@mufengrow7 data]# ll server-key.pem
-rw-r--r-- 1 mysql mysql 1676 Apr 28 12:31 server-key.pem

4.10 启动数据库

  1. 拷贝启动脚本
[root@mufengrow7 data]# cd /database/mysql/
[root@mufengrow7 data]# cp support-files/mysql.server  /etc/init.d/mysql
[root@mufengrow7 data]# systemctl daemon-reload
  1. 设置开机启动
[root@mufengrow7 data]# /sbin/chkconfig mysql on
  1. 启动MySQL
[root@mufengrow7 mysql]# /etc/init.d/mysql start
  1. 检查MySQL进程
[root@mufengrow7 mysql]# ps aux | grep 3306 | grep -v grep
mysql     40332  40081  0 12:34 pts/1    00:00:00 /database/mysql/bin/mysqld --basedir=/database/mysql --datadir=/database/mysql/data --plugin-dir=/database/mysql/lib/plugin --user=mysql --log-error=/database/mysql/logs/mysql_5_7_37.err --pid-file=/database/mysql/data/CentOS7.9.pid --socket=/database/mysql/mysql.sock --port=3306

4.11 修改数据库密码

[root@mufengrow7 mysql]# mysqladmin -uroot -p password 123456
Enter password: #继续按回车
mysqladmin: [Warning] Using a password on the command line interface can be insecure.

4.12 创建用于wordpress的数据库和MySQL用户

[root@mufengrow7 ~]# mysql -uroot -pMufengrow123456@

#创建用于wordpress的数据库
mysql> create database mufengrow_wordpress;
Query OK, 1 row affected (0.00 sec)
#创建用于wordpress的用户
mysql> create user mufengrow@'%' identified by 'Mufengrow123456@';
Query OK, 0 rows affected (0.00 sec)
#给用户授权wordpress数据库
mysql> grant all on mufengrow_wordpress.* to mufengrow@'%';
Query OK, 0 rows affected (0.00 sec)

五.部署wordpress

5.1 下载wordpress资源包

[root@mufengrow7 mysql]# cd /data/nginx/wordpress/
[root@mufengrow7 wordpress]# wget https://cn.wordpress.org/wordpress-6.2-zh_CN.tar.gz
[root@mufengrow7 wordpress]# mv index.php /tmp/

5.2 解压资源包

[root@mufengrow7 wordpress]# tar xf wordpress-6.2-zh_CN.tar.gz

5.3 修改wordpress文件所属

[root@mufengrow7 wordpress]# chown -R nginx.nginx /data/nginx/wordpress/

5.4 修改nginx配置

5.4.1 修改nginx配置文件

[root@mufengrow7 wordpress]# vim /apps/nginx/conf/conf.d/wordpreses.conf
server {
    listen 80;

    location / {
        root /data/nginx/wordpress/wordpress; #修改root目录
        index index.php;
    }

    location ~ \.php$ {
        root /data/nginx/wordpress/wordpress; #修改root目录
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

5.4.2 检查语法

[root@mufengrow7 wordpress]# nginx -t
nginx: the configuration file /apps/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /apps/nginx/conf/nginx.conf test is successful

5.4.3 重新读取

通过重启nginx,让nginx重新读取配置文件

[root@mufengrow7 wordpress]# systemctl restart nginx

5.5 安装wordpress

浏览器访问:

10.0.0.7

使用以上地址访问会自动跳转到wordpress的安装页面,点击“现在就开始!”开始安装wordpress

输入数据库信息,点击“提交”

点击“运行安装程序”

输入wordpress站点信息,点击“安装wordpress”

点击“登录”,进入登录页面

输入用户信息,登录wordpress

登录wordpress的页面

六.总结

  1. 本次实验LNMP环境中的“nginx”,“php”,“MySQL”都需要进行编译
  2. php编译和MySQL编译都需要比较长的时间,且需要安装比较多的依赖
  3. nginx配置文件中的“fastcgi_pass”的地址需要根据php-fpm的设置来定义,如果php-fpm与nginx不在同一服务器上,需要修改地址。

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

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

相关文章

camunda错误事件的用途

在Camunda中&#xff0c;错误事件是一种可以在任务或操作执行过程中捕获错误并进行处理的事件类型。使用错误事件可以提高工作流的可靠性和容错性&#xff0c;避免由于错误操作导致的工作流中断或数据丢失等问题。 使用错误事件可以处理以下情况&#xff1a; 1、捕获错误并进…

K8s基础3——应用部署流程、服务编排、集群资源利用率、日志管理

文章目录 一、应用部署流程二、服务编排2.1 YAML文件格式说明2.2 部署应用2.2.1 命令部署2.2.2 yaml文件部署2.2.2.1 编写deployment.yaml文件2.2.2.2 编写service.yaml文件2.2.2.3 两个yaml文件混用2.2.2.4 测试——service和deployment的标签不一致导致访问网页混乱 2.2.3 自…

用JIRA管理你的项目——(三)基于LDAP用户管理

JIRA提供了基于LDAP方式的用户管理&#xff0c;也就是用户密码的管理交给LDAP&#xff0c;而JIRA只管理用户在系统中的角色。 相关链接&#xff1a; 用JIRA管理你的项目——&#xff08;一&#xff09;JIRA环境搭建 用JIRA管理你的项目——&#xff08;二&#xff09;JIRA语言…

AI 工具合辑盘点(五)持续更新

AI 视频生成和编辑工具 当今&#xff0c;视频已经成为最受欢迎的媒介之一。我们喜欢观看视频&#xff0c;但是制作高质量的视频需要耗费大量时间和精力。 无论你是内容创作者、专业视频编辑师&#xff0c;还是完全的新手&#xff0c;按照传统方式制作视频需要掌握各种知识、技…

[杂谈]从《天堂2》到永恒之塔私服的感慨

不才在下是个老丫头了&#xff0c;平时喜欢潜水&#xff0c;还是在玩激战时注册的多玩论坛号&#xff0c;也不怎么说话&#xff0c;都是看别人说得多&#xff08;害羞嘛……&#xff09;。 想当年《天堂二》内测时&#xff0c;刚好在成都开了个内测号 首发会&#xff0c;我大清…

[230509]托福听力真题TPO66|精听 Lecture2:marine biology class|9:45~11:30+12:00~12:30

目录 Lecture 2 一、要点 二、文本 三、文本注释 概括描述fins ⬆️ 详细描述two general types of fins ⬇️ 1st type 2nd type 今日marine biology class重点 不是所有的鱼都有caudal fins caudal fins的两个例子 四、复听笔记 Lecture 2 一、要点 1. 开…

网络安全监管

网络安全监管 网络安全法律体系建设计算机犯罪、信息安全等基本概念我国立法体系及网络安全法我国的立法体系网络安全法出台背景基本概念安全法主要结构第一章 总则第二章 网络安全支持与促进第三章 网络运行安全第四章 网络信息安全第五章 监测预警与应急处置第六章 法律责任 …

基于Python的PROSAIL模型介绍以及使用

1、介绍 PROSAIL是两种模型耦合得到的。 SAIL是冠层尺度的辐射传输模型&#xff0c;把冠层假设成是连续的且具有给定几何形状和密度的水平均匀分布的介质层&#xff0c;从而模拟入射辐射与均匀介质之间的相互作用&#xff0c;具体还是挺复杂的。而PROSPECT就是叶片尺度的辐射传…

​kali下搭建WiFi钓鱼热点​

在linux下建立无线热点并不像在windows下开启网络共享或者使用无线网卡驱动设置AP模式即可。 linux下的无线共享要用到两个软件&#xff1a;hostapd(创建无线热点)、dnsmasq(dns服务和dhcp服务). 1.安装以上两个软件&#xff1a; 1 2 apt-get install hostapd apt-get install…

【Java】字符串String

目录 1.字符串的构造 2.字符串转换 2.1字符串与数值转换 2.2大小写转换 2.3字符串转数组 2.4格式化 3.字符串操作 3.1字符串比较 3.2字符串查找 3.3字符串替换 3.4字符串拆分 3.5字符串截取 3.6去除空格 4.字符串的不可变性 5.字符串修改 5.1StringBuffer…

基于FreeRTOS的CPU利用率计算教程详解(STM32版)

前言&#xff1a;FreeRTOS 是一个 RTOS 类的嵌入式实时操作系统&#xff0c;作为实时操作系统其必定拥有任务调度的属性。通过系统自身的任务调度算法实现任务安全且高效的切换&#xff0c;这就不可避免的引出了各个任务对 CPU 的利用率问题&#xff08;裸机情况下 CPU 利用率默…

自行车和电动自行车上亚马逊标准有什么区别?UL2849,16CFR1512

自行车 自行车是一种两轮的或三轮的交通工具&#xff0c;完全靠人力驱动后轮前进。本政策所涵盖的自行车包括当座位调整到最高位置时&#xff0c;座位离地面超过 25 英寸的自行车&#xff0c;以及座位高度为 25 英寸或以下的人行道自行车。本政策也适用于公路使用的卧式自行车…

有人看好、有人唱衰,无代码能不能开发复杂应用?

司马说 工欲善其事&#xff0c;必先利其器&#xff0c;软件开发也是如此。《人月神话》有一章的标题就是“巧匠因为他的工具而出名”。软件开发与编码工作是一项枯燥无味的任务&#xff0c;但现在这项工作很可能利用软件本身来完成。 无代码开发颠覆了传统编码的开发模式&#…

【工具使用】- git实现gitee托管代码以及检出代码

1. 下载Git工具 git下载地址1&#xff1a;https://git-scm.com/download/win git下载2&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/github-release/git-for-windows/git/Git%20for%20Windows%202.40.1/ 下载完成后安装 安装直接执行exe可执行程序&#xff0c;下一步…

晒出新高度?2023夏季小红书防晒趋势前瞻

夏日将临&#xff0c;防晒需求激增&#xff0c;进入市场旺季。今年防晒赛道朝着“防护升级&#xff0c;多面兼顾”大势发展。 哪些趋势值得关注&#xff1f;本期&#xff0c;千瓜将通过小红书数据分析和笔记内容洞察&#xff0c;为品牌提供数据支持和方向参考。 月增长高达501.…

分布式事务 [面试]

1. 基础概念 1.1 什么是事务 事务可以看做是一次大的活动&#xff0c;它由不同的小活动组成&#xff0c;这些活动要么全部成功&#xff0c;要么全部失败。 1.2 本地事务 在计算机系统中&#xff0c;更多的是通过关系型数据库来控制事务&#xff0c;这是利用数据库本身的事务…

TBSS和dpabifiber

以前用过TBSS&#xff0c;最近好久没用&#xff0c;又忘记了&#xff0c;现在重新捡起来。 首先是QSIprep和QSIrecon。 QSIPrep预处理后&#xff0c;文件夹包括anat和dwi。anat和fmriprep是一样的&#xff0c;就不介绍了。 dwi&#xff1a; 可以看出&#xff0c;这些就是在原始…

全景丨0基础学习VR全景制作,平台篇第16章:热点功能-图片

大家好&#xff0c;欢迎观看蛙色VR官方——后台使用系列课程&#xff01; 功能说明 应用场景 热点&#xff0c;指在全景作品中添加各种类型图标的按钮&#xff0c;引导用户通过按钮产生更多的交互&#xff0c;增加用户的多元化体验。 图片热点&#xff0c;即点击热点后弹出单张…

总结841

学习目标&#xff1a; 5月&#xff08;张宇强化前10讲&#xff0c;背诵25篇短文&#xff0c;熟词僻义300词基础词&#xff09; 每日必复习&#xff08;5分钟&#xff09; 重做了5道记录本上的极限题&#xff0c;值得庆幸的是&#xff0c;有一道极限题之前有三种解法&#xff…

【c语言】函数递归调用

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ…