各种博客最终选择WordPress
我是从五月初开始部署WordPress的, 先后尝试了emblog, halo2, hugo, typecho, 又换了好几台服务器, 最终还是回到WordPress. 我明确了我要使用动态博客, 动态博客一般都要用php和数据库. 一开始我是用的宝塔面板搭建WordPress, 后面我又用docker搭建了halo, 这样的搭建是很简单的, 代价是内存占用太高了. 我现在用的是搬瓦工的0.5G内存的服务器, 内存有限所以不能用宝塔面板和docker,用了内存就要满了, 所以自己手动安装和配置nginx, php, 数据库来部署WordPress.
注意:我是回忆我的部署过程, 有些细节可能遗忘, 或者有些小问题要慢慢去解决, 所以为了正确的部署还需要用到chatgpt
step1 分析我有什么我要干什么
我现在有一个1核0.5G的服务器, 一个daydayup.pro
的域名. 我要搭建WordPress博客.
因为内存0.5G很小, 不能使用宝塔面板或docker, 所以全程要用命令行部署.
服务器安装debian11系统, debian就是比Ubuntu和centos好, debian11的apt默认安装php7.4版本.
域名解析服务器从namesilo转义到了cloudflare, 处理域名需要用到nginx, ssl证书使用certbot工具.
WordPress需要数据库和php, 数据库可以选择mysql或mariadb, 后者更开源内存更小.
step2 先下载nginx,上线一个静态网页,再用certbot配置ssl证书
apt install nginx
如果有apache2的话systemctl stop apache2
systemctl status nginx
查看状态, 状态正常的话就可以上线静态html网页了, 路径是/var/www/index.html
, 然后到/etc/nginx/nginx.conf
里面在http{}块里面添加server{}块. 怎么写见chatgpt吧. 大概就是域名,监听端口,路径和index文件名.然后用nginx -t
查看语法是否正确, systemctl reload nginx
,最后通过ip+端口号就可以访问, 我默认用的80端口, 那么直接用http://域名
访问就好, chorme好像强制用https, 所以要打开edge或者用chorme的无痕模式.
然后apt install certbot
以及某个插件, 那个插件好像是用于自动更新ssl的, 我现在也不太清楚, 具体见chatgpt. certbot --nginx
按照提示来就很容易配置. 我不需要再去修改/etc/nginx/nginx.conf
, certbot会自动完成, certbot会把我的server{}块里面重构一下, 会变成两个server{}块, 一个是443很好理解, 一个是80端口它将http重定向到https .
到现在为止我就可以用https://域名
访问到我服务器的index.html
文件了.
step3 将静态index.html网页变成动态的index.php
首先要配置php7.4,wordpress最新版要求用php7.4及以上, debian10用apt默认安装的是php7.3,并且自己手动编译安装php7.4非常麻烦, debian11用apt默认安装php7.4非常方便.apt install php
,在确定安装前可以看到php要安装一堆php-xxx
的文件. 安装后还需要安装fpm, fpm是用来连接php与数据库的apt install php7.4-fpm
.
然后去WordPress官网下载, 注意要去WordPress中文版官网, 通过wget下载到/var/www
, 然后unzip
解压得到一个/var/www/wordpress
的文件夹, /var/www/wordpress/index.php
就是要上线的文件, 按照上线index.html
那样. 然后我们就可以通过https://域名
访问var/www/wordpress/index.php
文件了. 中途好像还有些小问题要慢慢解决. 然后我们应该就可以看到wordpress的配置数据库的界面, 要求填写数据库用户, 数据库名, 密码等信息, 填写后它要求我们把配置文件手动写在/var/www/wordpress/wp-config.php
里面.
而此时我们还没有安装数据库, apt install mariadb
mariadb是完全开源的,更容易用debian下载,内存占用也更小, 而mysql内存占用大还要收费不容易下载. mariadb与mysql都是wordpress官网推荐的数据库. 然后用chatgpt查看怎么创建数据库, 创建用户密码给权限等等, 学习一下最简单的sql语言例如SHOW DATABASES;
. 然后按照上一段的最后一步把数据库名, 用户, 密码等信息填进去就好了.
最后我们应该就能通过https://域名
访问网站了, 之后还有一些杂七杂八的小问题, 利用chatgpt解决吧. 例如文件上传限制为2MB, 怎么修改, 我利用chatgpt的方法都不行, 最后用的edge的聊天工具, 找到一篇博客, 创建并在.user.ini
里面写入upload_max_filesize = 20M
和post_max_size = 20M
就解决了.
再次说明: 我现在是回忆我的部署过程, 不是手把手记录我的部署过程, 所以有些细节,小问题的解决方法并没有写出来, 合理利用chatgpt和edge版的聊天工具