邓老师 发布的文章

/bin/sh

for i in $(seq 2 55)
do

 #复制apache配置文件
  c="c$i"
 # filename="$c.conf"
 # cp /etc/apache2/sites-enabled/c1.conf  /etc/apache2/sites-enabled/$filename
 # sed -i "s/c1/$c/g"  /etc/apache2/sites-enabled/$filename

 #复制wp文件夹
 #cp -R /var/www/html/c1 /var/www/html/$c
  #修改wp-config.php,设置表的前置名称
  #sed -i "s/C1/$c/g"  /var/www/html/$c/wp-config.php
 #增加hosts解析
 #url="192.168.10.14 $c.wp.cn"
 #echo $url >> /etc/hosts

done;

chown -R www-data:www-data /var/www/html

qm create 9000 --memory 2048 --net0 virtio,bridge=vmbr0
qm importdisk 9000 ubuntu-22.10-server-cloudimg-amd64.img local-lvm
qm set 9000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9000-disk-0
qm set 9000 --ide0 local-lvm:cloudinit
qm set 9000 --boot c --bootdisk scsi0
qm set 9000 --serial0 socket --vga serial0
qm template 9000

#/bin/sh

install_dir="/var/www/html"

Creating Random WP Database Credenitals

db_name="wpdate +%s"
db_user=$db_name
db_password=date |md5sum |cut -c '1-12'
sleep 1
mysqlrootpass=date |md5sum |cut -c '1-12'
sleep 1

Install Packages for https and mysql

apt -y install apache2
apt -y install mysql-server

Start http

rm /var/www/html/index.html
systemctl enable apache2
systemctl start apache2

Start mysql and set root password

systemctl enable mysql
systemctl start mysql

/usr/bin/mysql -e "USE mysql;"
/usr/bin/mysql -e "UPDATE user SET Password=PASSWORD($mysqlrootpass) WHERE user='root';"
/usr/bin/mysql -e "FLUSH PRIVILEGES;"
touch /root/.my.cnf
chmod 640 /root/.my.cnf
echo "[client]">>/root/.my.cnf
echo "user=root">>/root/.my.cnf
echo "password="$mysqlrootpass>>/root/.my.cnf

Install PHP

apt -y install php7.4
apt -y php7.4-mysqli
apt -y php7.4-gd

sed -i '0,/AllowOverride\ None/! {0,/AllowOverride\ None/ s/AllowOverride\ None/AllowOverride\ All/}' /etc/apache2/apache2.conf #Allow htaccess usage

systemctl restart apache2

Download and extract latest WordPress Package

if test -f /tmp/latest.tar.gz
then
echo "WP is already downloaded."
else
echo "Downloading WordPress"
cd /tmp/ && wget "http://wordpress.org/latest.tar.gz";
fi

/bin/tar -C $install_dir -zxf /tmp/latest.tar.gz --strip-components=1
chown www-data: $install_dir -R

Create WP-config and set DB credentials

/bin/mv $install_dir/wp-config-sample.php $install_dir/wp-config.php

/bin/sed -i "s/database_name_here/$db_name/g" $install_dir/wp-config.php
/bin/sed -i "s/username_here/$db_user/g" $install_dir/wp-config.php
/bin/sed -i "s/password_here/$db_password/g" $install_dir/wp-config.php

cat << EOF >> $install_dir/wp-config.php
define('FS_METHOD', 'direct');
EOF

cat << EOF >> $install_dir/.htaccess

BEGIN WordPress


RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

END WordPress

EOF

chown www-data: $install_dir -R

Set WP Salts

grep -A50 'table_prefix' $install_dir/wp-config.php > /tmp/wp-tmp-config
/bin/sed -i '/**#@/,/$p/d' $install_dir/wp-config.php
/usr/bin/lynx --dump -width 200 https://api.wordpress.org/secret-key/1.1/salt/ >> $install_dir/wp-config.php
/bin/cat /tmp/wp-tmp-config >> $install_dir/wp-config.php && rm /tmp/wp-tmp-config -f
/usr/bin/mysql -u root -e "CREATE DATABASE $db_name"
/usr/bin/mysql -u root -e "CREATE USER '$db_name'@'localhost' IDENTIFIED WITH mysql_native_password BY '$db_password';"
/usr/bin/mysql -u root -e "GRANT ALL PRIVILEGES ON $db_name.* TO '$db_user'@'localhost';"

Display generated passwords to log file.

echo "Database Name: " $db_name
echo "Database User: " $db_user
echo "Database Password: " $db_password
echo "Mysql root password: " $mysqlrootpass

WordPress加载速度慢,是因为浏览器一直在等待页面中嵌入的谷歌网络字体(google fonts)链接fonts.googleapis.com,要知道中文网站是很难使用谷歌提供的英文网络字体,何况Google字体对WordPress来说毫无作用。

WordPress系统有两个地方使用了谷歌字体,分别是主题和后台管理界面。要想提升WordPress加载速度,只能去掉或替换页面中嵌入的fonts.googleapis.com引用链接,或禁止使用谷歌字体。

最简单直接的方法就是安装插件,后台搜索“Disable Google Fonts”插件,并安装启用,这个插件就是禁用Google字体的,没有其他多余功能。

WordPress教程-整站数据迁移

使用WordPress内置的导入/导出功能,无法转移整个网站的所有设置,所以,对于整站迁移来说,这不是理想的解决方案。

如果是WordPress整站迁移的话,我们推荐您使用 WordPress网站迁移搬迁插件 – All in one WP migration,这是一个非常简单好用的WordPress网站迁移搬家工具,全程都是傻瓜式操作,一键完成搬家。All in one WP migration 完全不需要任何的技术知识和代码操作,就可以备份导出您的WordPress完整网站,包括网站程序文件、数据库、插件和主题等。

location / {

# 配置反向代理到本机的8080端口
proxy_pass http://127.0.0.1:8080;

# 配置请求客户端真实的 Host 信息
proxy_set_header Host $http_host;
# 配置请求用户真实的IP信息
proxy_set_header X-Real-IP $remote_addr;

# 连接超时时间为30秒
proxy_connect_timeout 30;
# 读取响应超时时间为60秒
proxy_send_timeout 60;
# 发送请求超时时间为60秒
proxy_read_timeout 60;

# 开启代理缓冲区
proxy_buffering on;
# 响应头的缓冲区设为32k
proxy_buffer_size 32k;
# 网页内容缓冲区个数为4,单个大小为128k
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
# 缓冲区临时文件最大为 256k
proxy_max_temp_file_size 256k;

WordPress 5.9 引入了一种新的网站构建方式,称为全站点编辑 (FSE)。

完整站点编辑是一套方便的功能,可让您使用块编辑和自定义整个 WordPress 网站。 如果您想体验和利用 WordPress 中的完整站点编辑功能,您需要一个块主题。

WordPress 块编辑器(以前称为古腾堡块编辑器)让 WordPress 用户对网站设计、内容布局等进行了前所未有的控制。

但是,您只能使用基于块的主题来访问 FSE 功能。 使用块主题,您可以自定义网站的每个部分,包括页眉、页脚和菜单等元素。
以前,您只能通过添加代码、使用 WordPress 定制器或安装第三方页面构建器(如 Elementor 和 Beaver Builder)来自定义网站的页眉/页脚部分。

现在,借助 FSE 功能和 WordPress 块编辑器,您可以更好地控制网站设计,并且可以更改 WordPress 网站的整体外观——无需更改 HTML 代码、添加 CSS 或安装任何 WordPress 页面构建器插件。

WordPress 生态系统中有 4 种类型的主题可用:

1.经典主题: 使用 PHP 构建,目前主导着 WordPress 生态系统。 如果您正在探索任何 WordPress 网站,它很可能是使用经典主题构建的。
2.块主题: 由块模板和 theme.json 组成。 旨在使用户能够利用 WordPress 的全站点编辑功能。
3.混合主题: 这些是与 FSE 兼容的经典主题。 混合主题的功能集是传统主题与使用 theme.json 文件设置块样式的能力的组合。
4.通用主题:可以与新的 WordPress 定制器和经典站点编辑器一起使用。

何时应该使用 WordPress 块主题
在我看来,块主题将是一个理想的选择

专门的博客网站,您的主要关注点是起草、撰写和发布博客文章。
如果您打算创建一个投资组合网站,那么您也可以使用基于块的主题。
此外,块主题将是建立在线论坛、信息网站、个人网站、活动网站甚至餐厅网站的不错选择。
简而言之,凭借 FSE 的当前功能和稳定性,块主题是创建“小型”静态网站的绝佳解决方案,您无需在其中进行大的动态更改或添加动画和高级功能。

什么时候不应该使用 WordPress 块主题
如果您打算创建更复杂的网站,例如电子商务或会员网站,那么我建议您使用经典或混合主题并将其与页面构建器插件配对。

WordPress 块主题 – 前 10 名精选
二十二二
二十二二 是 WordPress.org 团队开发的首批默认基于块的主题之一,并与 5.9 版一起发布。
二十二十二的主要特点
自定义调色板、页面模板、排版等的灵活性。
提供数十种块模式。
让您完全控制页面布局。
重量轻,加载速度快。

Tove 是为咖啡馆和餐馆设计的,但您可以对其进行自定义以创建任何 WordPress 网站。
Tove 带有预先设计的块模式,可让您自定义网站的每个区域并帮助您轻松启动网站设计过程。
ove 的主要特点
包括 40 多种块模式。
提供 6 种不同的页眉设计和 7 种不同的页脚设计。
重量轻且易于使用。
完全可定制以满足您的站点需求。

Divi 迪维 是由优雅主题创建的最受欢迎的多用途 WordPress 主题之一。
Divi 主题的主要特点
2,000 多种预制设计
拖放式可视化构建器
响应和可定制。

GeneratePress 是一个多用途的 WordPress 主题,允许用户创建不同类型的网站。 它与流行的 WordPress 页面构建器和 Gutenberg 块完全兼容。
GeneratePress 的主要特点
与 WooCommerce 兼容
60 多种颜色控制
5 侧边栏布局
排版定制灵活性

Kadence 主题
Kadence 是一个多功能的免费增值主题,包括大量内置功能,例如可自定义的入门模板、亚马逊风格的搜索栏、将社交图标放置在标题中任意位置的灵活性等等。
Kadence 主题的最大特点是它与所有流行的页面构建器和原生 WordPress 块编辑器 (Gutenberg) 完全兼容,使其成为构建任何类型网站的理想选择。

此外,Kadence 支持自定义帖子类型,让您可以直接在 WordPress 定制器中控制自定义帖子类型的布局。
Kadence 主题的主要特点
与流行的 WordPress 插件兼容,例如 WooCommerce、LifterLMS、GiveWP 等。
包括专业设计的入门模板。
全球调色板和排版。

1.编辑nginx.conf

http {
......
client_max_body_size 100M; #此处影响文件上传大小
include             /etc/nginx/mime.types;
default_type        application/octet-stream;

# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
}

server {
        listen 80;
        server_name c1.msdgq.com;
        location / {
        proxy_pass http://10.2.71.150;
          proxy_set_header Host $http_host;
          proxy_set_header X-Forwarded-Host $http_host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
        }
}

2.修改wordpess配置文件wp-config.php
在配置文件最后填写如下:

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$_SERVER['HTTPS']='on';
$_SERVER['REQUEST_URI'] = "/wiki".$_SERVER['REQUEST_URI'];
}
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
}