当我们购买一台VPS之后,需要为服务器安装网站环境才能安装WordPress,通常情况下,奶爸建议新手直接安装宝塔面板(教程点击这里),如果服务器只打算安装一个网站,或者说服务器配置较低,奶爸建议大家直接安装不带面板的LNMP环境,也就是Linux+Nginx+MySQL+PHP。这样会更省资源一点。
以前的教程里面,奶爸推荐的是LNMP一键安装脚本(教程点击这里),不过网上有信息说这个一键包脚本投毒了,不管后面是否改正,信誉是很难恢复的,所以如果你真的要安装LNMP环境来搭建网站,奶爸建议直接手动安装,不要使用网上的一键脚本了。本文将以Debian 12为例子为大家介绍如何手动安装LNMP环境,并且安装好WordPress网站。
购买VPS
想要安装LNMP环境,我们需要购买一台VPS才行,关于VPS的选择可以参考奶爸之前的文章:
当然,除了奶爸推荐的这些VPS,你自己购买的其他家的VPS也是可以用的,方法都一样,只需要确保VPS系统是Debian 12就可以了。
连接VPS
连接VPS我们依然是需要用到SSH软件,奶爸这里推荐的是Xshell,如果你是Mac用户,可以直接使用系统自带的终端功能。
Xshell个人使用是免费的,你也可以使用其他同类型的软件来管理VPS,使用Xshell连接并管理你的VPS,请参见下面的文章:
开始安装LNMP环境
连接上VPS之后,我们先更新一下系统组件,使用下面的命令。
apt update -y && apt upgrade -y
接着输入下面的命令安装PHP和相关组件
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
接着安装MariaDB,网上一些资料说MariaDB与MySQL相比,它的性能更高,复制速度更快,安全措施更好,还有额外的存储引擎。
apt install mariadb-server -y
使用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
创建虚拟主机配置文件
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/
删除默认站点
rm /etc/nginx/sites-enabled/default
验证NGINX配置
nginx -t
重启NGINX
systemctl restart nginx
配置SSL安全证书
这个时候,在浏览器打开你的网站,会出现下面这个截图,我们先安装好安全证书之后再去安装WordPress。(如果你打不开网站,证明你没有解析域名,请先去解析域名,教程参见:域名专题)
首先安装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
输入命令后,需要你输入一个邮箱地址,回车之后几个提示直接按Y回车。
后面需要为SSL续签的时候,运行下面的命令
certbot renew
申请完毕后,打开网站就可以看到是一把小锁了。
安装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安装界面。
配置伪静态规则
如果你会vi编辑器,可以直接vi /etc/nginx/sites-available/test.naibabiji.com.conf
考虑到奶爸建站笔记的新手比较多,可以通过SFTP下载文件修改后再覆盖的方式来修改。
打开后,右侧找到/etc/nginx/sites-available/文件夹,把你网站的配置文件下载到电脑,然后用记事本或者其他文本编辑器打开。
替换掉下图中框出来的部分代码。
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
重启完毕后,刷新你网页,伪静态就起作用了。
以上就是纯手工安装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
添加交换空间