手动搭建个人博客网站

本文在AWS上申请EC2(首次注册有一年免费,值得考虑),并搭建个人博客网站。下面是具体步骤。

申请EC2,找个就近的,比如东京或首尔、新加坡等。

为了方便,可以设置允许密码登录。vim /etc/ssh/sshd_config,修改PasswordAuthentication 为 yes

然后重启sshd服务

vim /etc/ssh/sshd_config

再将平时自己用的公钥拷过去

ssh-copy-id -i <平时在用的登陆公钥> ubuntu@<服务器地址>

再修改PasswordAuthentication 为 no

更新系统。

sudo apt update

sudo apt dist-upgrade

sudo reboot

申请域名,推荐https://www.namesilo.com/,可以使用优惠码oldtong,添加A记录,也可以添加*记录表示全部,这里申请并配好了A记录:blog.kelemi.top

使用一键脚本申请证书生成vless和wordpress等。后面的几步全用这个脚本完成。

curl -s https://raw.githubusercontent.com/HappyLife-page/v2ray/main/v2ray_wordpress_installation.sh | bash -s “blog.kelemi.top” vless
将相关配置信息保存下来。

——–这里开始步骤是不用脚本的手动实现nginx+wordpress———-

安装nginx

sudo apt install nginx

修改nginx配置。

cd /etc/nginx/sites-available/

cp default default.bak

sudo -i

cd /etc/nginx/sites-available/

grep -v “#” default > blog.kelemi.top.conf

vim blog.kelemi.top.conf

server {

    listen 80;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name blog.kelemi.top;



    location / {

            try_files $uri $uri/ =404;

    }

}

cd ../sites-enabled/

rm default

ln -s /etc/nginx/sites-available/blog.kelemi.top.conf /etc/nginx/sites-enabled/blog.kelemi.top.conf

sudo nginx -t

sudo nginx -s reload

再在vps安全组上添加允许80,443端口的访问。

测试 http://blog.kelemi.top正常访问。

申请免费证书

sudo snap install core

sudo snap refresh core

sudo snap install –classic certbot

sudo ln -s /snap/bin/certbot /usr/bin/certbot

sudo certbot -d blog.kelemi.top –nginx

sudo certbot renew –dry-run

systemctl list-timers

测试https://blog.kelemi.top正常,且证书已受信任。

下面开始搭建wordpress。

根据官方文档安装docker及docker-compose。

https://docs.docker.com/engine/install/ubuntu/

sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /etc/apt/keyrings/docker.gpg
echo \
“deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
部署wordpress的Docker compose。

mkdir wordpress_yml

cd wordpress_yml/

vim docker-compose.yml

services:

db:

image: mariadb:10.6.4-focal

# If you really want to use MySQL, uncomment the following line

#image: mysql:8.0.27

command: '--default-authentication-plugin=mysql_native_password'

volumes:

  - db_data:/var/lib/mysql

restart: always

environment:

  - MYSQL_ROOT_PASSWORD=somewordpress

  - MYSQL_DATABASE=wordpress

  - MYSQL_USER=wordpress

  - MYSQL_PASSWORD=wordpress

expose:

  - 3306

  - 33060

wordpress:

image: wordpress:latest

ports:

  - 8000:80

restart: always

environment:

  - WORDPRESS_DB_HOST=db

  - WORDPRESS_DB_USER=wordpress

  - WORDPRESS_DB_PASSWORD=wordpress

  - WORDPRESS_DB_NAME=wordpress

volumes:

db_data:

启动docker compose

sudo docker compose up -d

测试 http://blog.kelemi.top:8000能正常展示wordpress设置页面。

修改nginx,使https://blog.kelemi.top指向wordpress。

sudo vim /etc/nginx/sites-available/blog.kelemi.top.conf

location / {

            proxy_pass   http://127.0.0.1:8000/;

            proxy_redirect  off;

            proxy_set_header Host $http_host;

            proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            proxy_set_header X-Forwarded-Proto $scheme;

    }

sudo nginx -t

sudo nginx -s reload

访问https://blog.kelemi.top已转向wordpress了。

——–手动实现nginx+wordpress,结束———-

访问https://blog.kelemi.top,能看到workpress初始界面。

设置wordpress(略,有空另起文章)

用客户端测试,V2RayN,V2RayU,IOS的Shadowrocket等。

开启BBR,这样速度能提升不少。

echo “net.core.default_qdisc=fq” >> /etc/sysctl.conf

echo “net.ipv4.tcp_congestion_control=bbr” >> /etc/sysctl.conf

sysctl -p

sysctl net.ipv4.tcp_available_congestion_control

lsmod | grep bbr

完成。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注