最近突发奇想想要搭建一个个人博客,但是一番google之后发现大部分教程都是使用宝塔面板进行安装,由于我本人并不喜欢宝塔面板,所以就有了这个教程。
第一步:为网站申请ssl证书
这里使用acme脚本进行申请,所以首先进行acme脚本安装前的准备:
apt update -y
apt install -y curl
apt install -y socat
安装acme脚本
curl https://get.acme.sh | sh
注册acme脚本
~/.acme.sh/acme.sh --register-account -m 你的邮箱
设置Debian防火墙
sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
使用80端口进行验证
~/.acme.sh/acme.sh --issue -d 你的域名 --standalone
如果验证失败可以试试切换到另一个证书提供方:lets encrypt
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
接下来安装证书到指定文件夹
~/.acme.sh/acme.sh --installcert -d 你的域名 --key-file /文件路径/private.key --fullchain-file /文件路径/cert.crt
开启acme脚本自动更新
~/.acme.sh/acme.sh --upgrade --auto-upgrade
第二步:安装Nginx
安装
sudo apt-get install nginx -y
设置Nginx开机自启
sudo systemctl enable nginx
第三步:安装数据库 MariaDB
sudo apt-get install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
设置密码和初始化生产环境的相关配置
sudo mysql_secure_installation
这一步设置好密码一路按"Y"回车就可以了
第四步:安装PHP7.4
sudo apt-get install php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-json php7.4-opcache php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl php7.4-zip -y
第五步:创建 WordPress 数据库
sudo mysql -u root -p #然后输入你设置的密码
CREATE DATABASE 数据库名;
GRANT ALL ON 数据库名.* TO '数据库用户名'@'localhost' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
第六步:编辑 Nginx 相关文件
创建 WordPress 根目录
sudo mkdir /var/www/html/wordpress
为 WordPress 创建 Nginx 文件
sudo nano /etc/nginx/sites-available/wordpress.conf
填写如下:
server {
listen 80;
server_name 你的域名;
server_tokens off;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
ssl_certificate 证书路径;
ssl_certificate_key 密钥路径;
root WordPress文件夹位置;
index index.php index.html;
server_name 你的域名;
server_tokens off;
access_log /var/log/nginx/www.access.log;
error_log /var/log/nginx/www.error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
检查上述配置文件的正确性
nginx -t
创建链接
cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/wordpress.conf .
重新加载 Nginx 以应用更改的设置
sudo systemctl reload nginx
第七步:下载和配置WordPress
下载WordPress并解压
cd /var/www/html/wordpress
sudo wget https://cn.wordpress.org/latest-zh_CN.tar.gz
sudo tar -zxvf latest-zh_CN.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest-zh_CN.tar.gz
更改文件所有权并且应用权限给 WordPress 所有文件
cd /var/www/html
sudo chown -R www-data:www-data *
sudo chmod -R 755 *
配置 wp-config.php
/** 在wp-config.php文件中找出并更改以下内容 */
…
…
define('DB_NAME', '数据库名');
define('DB_USER', '数据库用户名');
define('DB_PASSWORD', '密码');
…
…
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
…
…
上面的安全密钥通过https://api.wordpress.org/secret-key/1.1/salt/ 获得,直接复制即可
第八步:打开网站进行设置
在浏览器中访问你的域名,根据 WordPress 设置指引完成最后的配置。
这篇文章记录我搭建此博客的步骤,供以后学习用。
最后感谢V2rayssr综合网(acme脚本部分)和我的IT技术(后续安装部分)。