跳到正文
苹果CMS · AppleCMS 苹果CMS · AppleCMS v12

试用用 Docker 或 php artisan serve。正式站把网站根目录指到 public,PHP 用 8.4,并每分钟跑定时任务。

宝塔(最短)

  1. 网站根目录选项目里的 public,PHP 选 8.4。
  2. 给 storage、bootstrap/cache 运行用户可写(一般是 www)。
  3. 终端进入项目目录执行 bash install.sh,或打开 /install 网页装。
  4. 计划任务每分钟跑后台「监控」里复制出来的那一行(必须是 /bin/php,不要 php-fpm)。
cron
/www/server/php/84/bin/php /www/wwwroot/你的站点/artisan schedule:run >> /dev/null 2>&1

PHP 环境

需要 PHP 8.4 或更高,并打开这些扩展:pdo、mbstring、openssl、tokenizer、xml、ctype、json、fileinfo、curl。用 MySQL 再开 pdo_mysql;用 SQLite 再开 pdo_sqlite。

图片处理需要 gd 或 imagick,没有也能装,只是水印和缩略图不可用。建议在 php.ini 里:

ini
memory_limit = 256M
upload_max_filesize = 32M
post_max_size = 32M
max_execution_time = 60
date.timezone = Asia/Shanghai

改完后重启 php-fpm。目录 storage 和 bootstrap/cache 必须可写,并执行过 php artisan storage:link。

MySQL

正式站点建议 MySQL 5.7 / 8.0 或 MariaDB 10.3+,字符集用 utf8mb4。先建空库,再把账号写进 .env。

sql
CREATE DATABASE video CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'video'@'127.0.0.1' IDENTIFIED BY '请换成强密码';
GRANT ALL ON video.* TO 'video'@'127.0.0.1';
FLUSH PRIVILEGES;
env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=video
DB_USERNAME=video
DB_PASSWORD=请换成强密码

试用可以继续用 SQLite(DB_CONNECTION=sqlite,文件 database/database.sqlite)。改完 .env 后执行 php artisan config:clear。

nginx

网站根目录必须是项目里的 public,不要指到项目根。

nginx
server {
    listen 80;
    server_name www.example.com;
    root /var/www/laravideo/public;
    index index.php;
    charset utf-8;
    client_max_body_size 32m;

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

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

第一行 try_files 会优先读后台生成的磁盘静态页(public/html)。没有文件时再交给 PHP。.env 写上 APP_URL、APP_ENV=production、APP_DEBUG=false。反向代理再设 TRUST_PROXIES=*。

搜索引擎

前台 /robots.txt 默认禁止 /admin、/install、/member,并带上 sitemap。站点地图在 /sitemap.xml。定时任务见「定时」。

飞机群 @sanpang