本文在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
完成。