一、概述

记录搭建wordpress博客的过程

二、搭建过程

前置准备

前面购买云服务器、安装ubuntu、购买域名等过程比较简单就略过..

更新软件包环境

1
2
apt update
apt upgrade

安装组件LNMP

LNMP 是 Linux + Nginx + MySQL + PHP 组合的简写

nginx

1
2
3
apt install -y nginx
systemctl start nginx
systemctl enable nginx

mysql

1
2
3
apt install -y mysql-server
systemctl start mysql
systemctl enable mysql

php

1
sudo apt install -y php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip

目前wordpress要求php在php8.3以上

所以最好一开始就安装高版本,免得后续进行升级比较麻烦

1
2
3
4
5
sudo apt update
sudo apt install software-properties-common ca-certificates apt-transport-https
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install -y php8.4 php8.4-fpm php8.4-mysql php8.4-curl php8.4-gd php8.4-mbstring php8.4-xml php8.4-zip

查看安装的版本php -v,在nginx配置文件中填写php相关信息的时候会用到。

一键安装LNMP

注意

这是编译安装,时间比较长

访问lnmp.com

1
2
wget https://soft.lnmp.com/lnmp/lnmp2.2.tar.gz && tar -zxvf lnmp2.2.tar.gz -O lnmp2.2
cd lnmp2.2 && ./install.sh lnmp

先是mysql可以一路默认

接着是php,建议选择php8.3以上

安装wordpress

修改配置

修改nginx的配置文件cat > /etc/nginx/sites-available/wordpress

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cat > /etc/nginx/sites-available/wordpress << 'EOF'
server {
listen 80;
server_name www.lanpark.fun;
root /var/www/wordpress;
index index.php index.html;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
EOF

重启nginx服务

1
2
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

web测试

此时可以执行

1
2
mkdir -p /var/www/wordpress
cp /var/www/html /var/www/wordpress

然后云服务上开通80端口后,然后访问公网ip地址,能访问到界面就表示nginx是正常工作的。

配置mysql

1
2
3
4
5
6
7
CREATE DATABASE wordpress;  //创建数据库,名称为wordpress
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;//更多设置,二选一,不用两个都进行输入,不然会第二个的时候会提示已经存在

CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'Wordpress123@'; //创建数据库用户,设置密码
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost'; //授予数据库权限,权限级别GRANT ALL PRIVILEGES,作用域是wordpress下全部表
FLUSH PRIVILEGES; //刷新权限
exit;

其他命令:

删除数据库表

1
DROP DATABASE wordpress;

配置数据库

1
2
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
vim /var/www/wordpress/wp-config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
define( 'DB_NAME', 'wordpress' );  //新建的mysql数据库

/** Database username */
define( 'DB_USER', 'wp_user' ); //对应mysql数据库的用户名

/** Database password */
define( 'DB_PASSWORD', 'Wordpress123@' ); //对应mysql数据库的密码


...//其他默认

//以下信息可以通过下述网站直接生成

define('AUTH_KEY', '<Ww)$K+rcO%[klzfaMJl-1h`mH45ySvDX^Tr9hFFufooi<_2J.GQ^>cLV0-W9#I+');
define('SECURE_AUTH_KEY', '-CKOq?HP6I/WL%D7{H@./LKUqp9};*5$Y-s4<|Bk%!je[+1,U/p ~@]`%(8-BIFr');
define('LOGGED_IN_KEY', 'nJ`.3[(|eaybEt {Sb`@JLYxe>s4wqXEuH,nNF;p.LzD;sfaJTF.OQY%C/MxnC#=');
define('NONCE_KEY', 'K`wey-+D$4gaFa0wr8`?s(mnOA6O)9h-Q^@QD}Ibv8gPkSREcoTe|Tat.gE$YE[h');
define('AUTH_SALT', 'c>g`/N2%-b7UIKq+`a{?i;oJQ>#a)JzYNa729Vp>:F|EU+g6_5ExlN!NJrhP39c2');
define('SECURE_AUTH_SALT', 'w3h>DwB=2j_:-R-x7KXXvzN1lT;^3l?.`p?(Z!2M3s4{m9{j++aw?a~+xyjhJpwe');
define('LOGGED_IN_SALT', 'Dj}}K O<hu?F~KhSH<QD) o%z4tr(`SQad9r-tlEl5)6biQw yyA4nh}ge~2!Aus');
define('NONCE_SALT', '3y.v!5o~gg[^4C~nhLKYuX^uY^$Pw7RR,%wFkulXF]@hc<i{0q0-5|<4_<r,O_J2');

https://api.wordpress.org/secret-key/1.1/salt/

wordpress网页配置

完成上述的操作后,在浏览器输入对应的IP地址后,就可以进入到wordpress网页界面了

alt text

按照提示进行配置即可。

安装主题

可以在网页界面直接选择想要的主题进行安装,也可以手动上传主题进行安装

遇到的问题

上传的文件尺寸超过php.ini中定义的upload_max_filesize值

这是由于php.ini配置文件中对上传的文件大小做了限制,一般是默认的2M,主题一般都是10M左右,所以肯定会提示错误

解决办法:

  1. 修改php.ini配置文件
1
2
3
4
5
6
7
find / -name php.ini //找到对应的配置文件

//修改以下项目

upload_max_filesize = 50M
post_max_size = 55M
memory_limit = 60M
  1. 修改wp-config.php
1
2
3
4
5
@ini_set( 'upload_max_filesize' , '300M' );
@ini_set( 'post_max_size', '300M');
@ini_set( 'memory_limit', '256M' );
@ini_set( 'max_execution_time', '300' );
@ini_set( 'max_input_time', '300' );

记得重启nginx才生效哦