搭建网站 (以 Typecho 为例)
系统:Debian 12
第一步:绑定域名
- 修改 hosts 配置
添加需要绑定的域名,格式如下:
1
vim /etc/hosts
1
公网IP 域名
第二步:配置 MySQL 数据库
-
进入 MySQL
1
mysql -u root -p
-
创建数据库和用户,并授权
1 2 3 4 5
CREATE DATABASE typecho_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'typecho_user'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON typecho_db.* TO 'typecho_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
替换数据库名:typecho_db
替换用户名:typecho_user
替换密码:your_password
导入备份数据 (如果有)
- 切换到目标数据库
1
USE existing_database_name;
替换为现有数据库的名称。
- 导入备份数据
1
SOURCE /path/to/backup_file.sql;
替换为备份文件的路径。
第三步:配置 Nginx
-
创建 Nginx 网站配置文件
1
sudo vim /etc/nginx/sites-available/typecho.conf
-
添加 Typecho 的反向代理配置信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
server { listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; server_name your_domain.com; # 替换为您的域名 ssl_certificate /**/**/*.cer; # 填入SSL证书路径 ssl_certificate_key /*/*/*.key;# 填入SSL证书路径 root /var/www/typecho; # 替换为 Typecho 系统文件夹路径 index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 替换为您的 PHP 版本配置 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~* \.(jpg|jpeg|gif|png|webp|ico|bmp|tiff|css|js|svg)$ { expires max; log_not_found off; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } access_log /var/log/nginx/typecho_access.log; error_log /var/log/nginx/typecho_error.log; gzip on; gzip_disable "msie6"; gzip_vary on; gzip_comp_level 6; gzip_min_length 1100; gzip_buffers 16 8k; gzip_proxied any; gzip_types text/plain text/css text/xml application/xml application/javascript application/rss+xml application/atom+xml image/svg+xml; }
-
创建软链接至 sites-enabled
1
sudo ln -s "/etc/nginx/sites-available/typecho.conf" "/etc/nginx/sites-enabled"
-
重启服务器
1 2
nginx -t # 检查配置文件语法错误 nginx -s reload # 重新加载配置文件
第四步:申请 SSL 证书
-
手动安装 acme.sh
1
git clone --depth=1 https://github.com/acmesh-official/acme.sh && cd acme.sh
或使用国内镜像
1
git clone --depth=1 https://gitee.com/neilpang/acme.sh && cd acme.sh
-
安装 acme.sh
1
./acme.sh --install
-
注册账号
1
acme.sh --register-account -m my@example.com
-
生成证书
1
./acme.sh --issue -d mydomain.com -d www.mydomain.com --webroot /home/wwwroot/mydomain.com/
-
配置 SSL 证书和密钥路径
1 2
ssl_certificate /path/to/your_certificate.cer; # SSL 证书路径 ssl_certificate_key /path/to/your_certificate.key; # SSL 证书密钥路径
-
重启 Nginx
1 2
nginx -t # 检查配置文件语法错误 nginx -s reload # 重新加载配置文件