How To Install Wordpress With Lnmp On Debian12

Debian 12安装WordPress教程(LNMP环境)

当我们购买一台VPS之后,需要为服务器安装网站环境才能安装WordPress,通常情况下,奶爸建议新手直接安装宝塔面板(教程点击这里),如果服务器只打算安装一个网站,或者说服务器配置较低,奶爸建议大家直接安装不带面板的LNMP环境,也就是Linux+Nginx+MySQL+PHP。这样会更省资源一点。

以前的教程里面,奶爸推荐的是LNMP一键安装脚本(教程点击这里),不过网上有信息说这个一键包脚本投毒了,不管后面是否改正,信誉是很难恢复的,所以如果你真的要安装LNMP环境来搭建网站,奶爸建议直接手动安装,不要使用网上的一键脚本了。本文将以Debian 12为例子为大家介绍如何手动安装LNMP环境,并且安装好WordPress网站。

购买VPS

想要安装LNMP环境,我们需要购买一台VPS才行,关于VPS的选择可以参考奶爸之前的文章:

奶爸亲测的VPS推荐

当然,除了奶爸推荐的这些VPS,你自己购买的其他家的VPS也是可以用的,方法都一样,只需要确保VPS系统是Debian 12就可以了。

连接VPS

连接VPS我们依然是需要用到SSH软件,奶爸这里推荐的是Xshell,如果你是Mac用户,可以直接使用系统自带的终端功能。

Xshell个人使用是免费的,你也可以使用其他同类型的软件来管理VPS,使用Xshell连接并管理你的VPS,请参见下面的文章:

使用Xshell 7连接VPS教程_电脑登录vps的方法

开始安装LNMP环境

连接上VPS之后,我们先更新一下系统组件,使用下面的命令。

apt update -y && apt upgrade -y
Snipaste 2024 07 05 14 21 08

接着输入下面的命令安装PHP和相关组件

apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache php-xml php-mysqli -y
apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache php-xml php-mysqli -y

接着安装NGINX

apt install nginx -y
apt install nginx -y

接着安装MariaDB,网上一些资料说MariaDB与MySQL相比,它的性能更高,复制速度更快,安全措施更好,还有额外的存储引擎。

apt install mariadb-server -y
apt install mariadb-server -y

使用mysql_secure_installation脚本来提高数据库安全性。

mysql_secure_installation
mysql_secure_installation

输入这个命令后,有一些英文的引导提示,首先按回车,然后带有[Y/n]的提示都按Y即可。

如果你不认识英文,只需要记住下面这里是让你设置新数据库密码。

Change the root password? [Y/n] y
New password:

输入的密码信息不会显示,自己要记住别忘了。

创建数据库

接下来我们就要为安装WordPress做准备了,首先创建一个数据库。

mysql -uroot -p

输入上面的命令之后,需要验证数据库管理员密码。然后进入输入命令的界面,依次输入下面的命令。

CREATE DATABASE naibabiji_db;
CREATE USER naibabiji_user@localhost IDENTIFIED BY 'blog_NaiBaBiJi_Com';
GRANT ALL ON naibabiji_db.* TO naibabiji_user@localhost;
FLUSH PRIVILEGES;
创建数据库

这些代码中,naibabiji_db是你要创建的数据库名字,naibabiji_user是你创建的数据库用户名,blog_NaiBaBiJi_Com是数据库密码。根据自己需要修改。

配置NGINX

首先,为我们的网站创建一个存放文件的目录,也就是网站根目录文件夹。

mkdir -p /var/www/html/test.naibabiji.com/public_html
mkdir -p /var/www/html/test.naibabiji.com/public_html

创建虚拟主机配置文件

vi /etc/nginx/sites-available/test.naibabiji.com.conf

接着按i,把下面的内容粘贴进去之后,按ESC键输入:wq保存

server {
  listen 80;
  server_name test.naibabiji.com;
  root /var/www/html/test.naibabiji.com/public_html;
  index index.html;

  location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ =404;
  }

  location ~* \.php$ {
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    include snippets/fastcgi-php.conf;
  }
}

上面的代码中,server_name test.naibabiji.com;部分,我们教程这里是只绑定了一个域名,正常你做企业官网的时候,这里应该改成server_name naibabiji.com www.naibabiji.com;这样。

创建软连接

ln -s /etc/nginx/sites-available/test.naibabiji.com.conf /etc/nginx/sites-enabled/
Snipaste 2024 07 05 14 48 14

删除默认站点

rm /etc/nginx/sites-enabled/default
Snipaste 2024 07 05 14 50 10

验证NGINX配置

nginx -t
nginx -t

重启NGINX

systemctl restart nginx
systemctl restart nginx

配置SSL安全证书

这个时候,在浏览器打开你的网站,会出现下面这个截图,我们先安装好安全证书之后再去安装WordPress。(如果你打不开网站,证明你没有解析域名,请先去解析域名,教程参见:域名专题

Snipaste 2024 07 05 14 53 54

首先安装snapd

apt install snapd -y

后面时间久了如果需要更新snapd,则使用下面的命令

snap install core; snap refresh core

安装 Certbot

snap install --classic certbot

运行certbot申请SSL安全证书

/snap/bin/certbot --nginx -d test.naibabiji.com
/snap/bin/certbot --nginx -d test.naibabiji.com

输入命令后,需要你输入一个邮箱地址,回车之后几个提示直接按Y回车。

后面需要为SSL续签的时候,运行下面的命令

certbot renew

申请完毕后,打开网站就可以看到是一把小锁了。

Snipaste 2024 07 05 15 14 52

安装WordPress网站程序

切换到网站根目录

cd /var/www/html/test.naibabiji.com/public_html/

wget下载wordpress安装包文件

wget https://wordpress.org/latest.zip

解压安装包

unzip latest.zip

如果提示命令不存在,先安装apt install unzip -y

进入解压出来的文件夹,移动所有文件到上级目录,切换到上级目录。

cd wordpress
mv * ..
cd ..

修改文件权限

chmod -R 755 /var/www/html/test.naibabiji.com/public_html
chown -R www-data:www-data /var/www/html/test.naibabiji.com/public_html

打开你网址进入WordPress安装界面。

Snipaste 2024 07 05 15 27 28

配置伪静态规则

如果你会vi编辑器,可以直接vi /etc/nginx/sites-available/test.naibabiji.com.conf

考虑到奶爸建站笔记的新手比较多,可以通过SFTP下载文件修改后再覆盖的方式来修改。

Snipaste 2024 07 05 15 42 00

打开后,右侧找到/etc/nginx/sites-available/文件夹,把你网站的配置文件下载到电脑,然后用记事本或者其他文本编辑器打开。

Snipaste 2024 07 05 15 42 44

替换掉下图中框出来的部分代码。

Snipaste 2024 07 05 15 44 43
location / {
    index index.php index.html index.htm;
	try_files $uri $uri/ /index.php?$args;
}

# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

保存之后上传到服务器覆盖原文件。

接着xshell里面输入systemctl restart nginx

重启完毕后,刷新你网页,伪静态就起作用了。

解决不带https访问404错误

上面的教程里面是使用的二级域名作为演示,实际情况中,你可能是添加的主域名和www的二级域名,比如naibabiji.com和www.naibabiji.com

那么你默认设置的访问网址是https://naibabiji.com,如果直接浏览器打开www.naibabiji.com会提示404,这是因为申请ssl证书时自动加载的代码写了404,我们只需要下面这么操作。

同样是编辑上面伪静态规则要修改的那个文件,把上面截图中

listen 80;
server_name pinenut.net www.pinenut.net;
return 404; # managed by Certbot

最后404那一条内容修改为:return 301 https://naibabiji.com; # managed by Certbot

然后重启nginx,这样访问不带https的网址,都会跳转到带有https的主域名。

以上就是纯手工安装LNMP环境然后安装WordPress的方法了,如果你还不会,奶爸提供付费部署服务,欢迎联系

其他相关命令

如何重启php?

首先输入php -v查看你的php版本,例如奶爸的提示如下:

php -v
PHP 8.2.20 (cli) (built: Jun 17 2024 13:33:14) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.20, Copyright (c) Zend Technologies
with Zend OPcache v8.2.20, Copyright (c), by Zend Technologies

证明安装的是php8.2版本,那么则输入下面命令重启PHP

systemctl restart php8.2-fpm

PHP.INI文件在什么位置?

/etc/php/你php版本号文件夹/fpm/php.ini

怎么重启数据库?

systemctl restart mariadb

添加交换空间

在 Debian 12 中增加 swap 空间教程

4/5 - (4 votes)
滚动至顶部