插件窝 干货文章 在Nginx服务器上怎么安装配置博客程序Typecho

在Nginx服务器上怎么安装配置博客程序Typecho

Typecho Nginx 配置 PHP 986    来源:    2025-04-26

Typecho在Nginx服务器上的安装与配置指南

一、准备工作

  1. 服务器要求

    • Nginx (推荐1.18+)
    • PHP 7.2+ (推荐7.4或8.0)
    • MySQL 5.5+ 或 MariaDB
    • 已安装PHP扩展:pdo_mysql, mbstring, xml, curl, gd, zip
  2. 下载Typecho

    wget https://github.com/typecho/typecho/releases/latest/download/typecho.zip
    unzip typecho.zip -d /var/www/typecho
    

二、Nginx配置

  1. 创建Nginx配置文件 (如/etc/nginx/conf.d/typecho.conf):
server {
    listen 80;
    server_name yourdomain.com;  # 替换为你的域名
    root /var/www/typecho;      # Typecho安装目录

    index index.php index.html index.htm;

    # 开启伪静态
    if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php$1 last;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;  # 根据PHP版本调整
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.ht {
        deny all;
    }

    # 静态文件缓存
    location ~* \.(jpg|jpeg|gif|png|css|js|ico|webp|svg)$ {
        expires 30d;
        access_log off;
    }
}
  1. 测试并重载Nginx配置bash nginx -t systemctl reload nginx

三、数据库准备

  1. 登录MySQL:

    mysql -u root -p
    
  2. 创建数据库和用户:

    CREATE DATABASE typecho DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    CREATE USER 'typecho_user'@'localhost' IDENTIFIED BY 'your_strong_password';
    GRANT ALL PRIVILEGES ON typecho.* TO 'typecho_user'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    

四、安装Typecho

  1. 访问你的域名:http://yourdomain.comhttp://your-server-ip

  2. 按照安装向导完成:

    • 填写数据库信息(使用上一步创建的数据库和用户)
    • 设置管理员账号
    • 完成安装

五、安全优化

  1. 文件权限设置

    chown -R www-data:www-data /var/www/typecho
    find /var/www/typecho -type d -exec chmod 755 {} \;
    find /var/www/typecho -type f -exec chmod 644 {} \;
    
  2. 启用HTTPS (使用Let's Encrypt):

    apt install certbot python3-certbot-nginx
    certbot --nginx -d yourdomain.com
    
  3. 禁用目录列表: 在Nginx配置中添加:

    autoindex off;
    

六、常见问题解决

  1. 502 Bad Gateway错误

    • 检查PHP-FPM是否运行:systemctl status php8.0-fpm
    • 确保Nginx配置中的fastcgi_pass路径正确
  2. 伪静态不工作

    • 确保Nginx配置中的rewrite规则正确
    • Typecho后台设置中启用"地址重写功能"
  3. 上传文件大小限制: 修改PHP配置(php.ini):

    upload_max_filesize = 64M
    post_max_size = 64M
    memory_limit = 128M
    

按照以上步骤完成后,你的Typecho博客应该已经在Nginx服务器上正常运行了。