原创文章,转载请注明出处
https://qiedd.com/
0. 简介
在部署之前,我已经把旧的 WordPress 备份好了,现在需要在一台新的机器上部署
旧的 WordPress 是在宝塔上迁移过来的,有些地方可能需要修改
如果是全新安装,那么部署好环境,创建完数据库,直接安装就行
环境
System:Arch Linux
内存: 32G (建议内存大于2G)
Caddy:2.4.6 (Arch 官方源)
PHP : 8.0 (Arch 官方源)
Mariadb : 10.6.5 (Arch 官方源)
1. 安装
系统安装
可以选择 Vps2arch 来装好 Arch 系统,如果需要使用ZFS,可以参考 Wiki,和我写的这篇
安装环境
# 安装环境 pacman -S caddy php mariadb php-fpm tar zip ffmpeg imagemagick php-gd vim php-imagick php-intl --needed # 设置systemd开机启动 systemctl enable php-fpm systemctl enable caddy systemctl enable mariadb
2. 配置环境
分别配置 PHP Caddy Mariadb
一、配置 PHP
# 修改配置文件 vim /etc/php/php-fpm.d/www.conf # 使用vim搜索功能 # 输入 /listen.owner 然后回车,将 user = http group = http listen.owner = http listen.group = http # 改成caddy user = caddy group = caddy listen.owner = caddy listen.group = caddy # 修改配置文件 vim /etc/php/php.ini # 使用vim搜索功能 # 输入 extension=exif 然后回车,将 # ;extension=exif 和 ;extension=gd 前面的分号去掉 extension=curl extension=exif extension=gd extension=iconv extension=intl extension=mysqli extension=pdo_mysql # 防跨站 user_ini.filename = ".user.ini" # 然后在网站根目录下创建这个.user.ini的文件 vim /www/wordpress/.user.ini # 文件内容 open_basedir=/www/wordpress/:/tmp/:/proc/ # 修改配置文件 vim /etc/php/conf.d/imagick.ini # 取消注释 extension = imagick
二、配置Caddy
# Caddy的配置文件在这 cd /etc/caddy # 修改Caddyfile vim Caddyfile
这是我的Caddyfile,添加了 HTTP2/HTTP3 的支持,原本 Caddyfile 内的配置可以将其注释或者删掉
{ servers :443 { protocols h1 h2 h2c h3 } servers :80 { protocols h1 h2 h2c h3 } } import /etc/caddy/conf.d/*
然后在 /etc/caddy/conf.d/
中添加一个配置
# 添加配置 vim /etc/caddy/conf.d/wordpress.conf *** 示例 *** wordpress.com { log { output file /var/log/caddy/wordpress.log } root * /www/wordpress php_fastcgi unix//run/php-fpm/php-fpm.sock file_server encode zstd gzip @disallowed { path /xmlrpc.php path /wp-config.php path /readme.html path /*.txt path /*.sql path /.user.ini path /wp-content/uploads/*.php path /wp-content/uploads/*.log } rewrite @disallowed /index.php }
三、配置Mariadb
我们已经上传好了备份好的 sql文件
# 安装Mariadb mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql # 启动Mariadb systemctl start mariadb.service # 登录 mysql -uroot -p # 设置mysql root密码 use mysql; flush privileges; ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码'; exit; # 创建一个用户 mysql -uroot -p create user 'wordpress'@'localhost' IDENTIFIED BY '你的密码'; # 授权 GRANT ALL ON wordpress.* TO 'wordpress'@'localhost'; exit; # 登录试试 mysql -uwordpress -p # 然后在这个用户下创建数据库 create database wordpress; use wordpress; set names utf8; # 导入旧sql(如果有) source /root/backup.sql; show tables;
四、导入旧网站
新建的 WordPress 请省略
# 解压 tar xvf backup.tar.gz /www/ mv 文件夹 wordpress # 安全起见,我们不能用root来跑wordpress chown -R caddy /www/wordpress chgrp -R caddy /www/wordpress
五、修改旧配置
# 安全原因,将组和用户修改成caddy chown -R caddy wordpress chgrp -R caddy wordpress # 编辑wp-config.php define('DB_NAME','数据库名称'); define('DB_USER','数据库用户名'); define('DB_PASSWORD','数据库密码'); # 修改.user.ini open_basedir=/www/wordpress/:/tmp/:/proc/ # 删除.htaccess rm /www/wordpress/.htaccess
六、启动环境
systemctl start caddy systemctl start php-fpm
0 条评论