如何安装基于 Laravel 的网站
安装通过 composer 完成。 示例中使用的域名是 example.com,网站用户是 user。
准备工作
安装 Composer
在 FASTPANEL® 的“Applications”部分中安装 composer


创建网站
在 FASTPANEL® 中创建一个网站,并在网站设置的“Site Directory”部分指定 public 子目录。

创建项目
要创建项目,您需要使用网站所有者的数据通过 SSH 连接到服务器。 网站所有者显示在 FASTPANEL 中的网站卡片里

建立 SSH 连接后,您应使用以下命令示例清空网站目录(请将 example.com 替换为您的网站名称)
rm -rf /var/www/user/data/www/example.com/*
然后进入网站目录
cd /var/www/user/data/www/example.com
并创建项目
composer create-project laravel/laravel ./
正确安装时的输出示例
73 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package fruitcake/laravel-cors is abandoned, you should avoid using it. No replacement was suggested.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
76 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
No publishable resources for tag [laravel-assets].
Publishing complete.
No security vulnerability advisories found
> @php artisan key:generate --ansi
Application key set successfully.
安装特定版本的 Laravel
要安装特定版本,创建项目时必须在命令末尾用引号指定版本
composer create-project laravel/laravel ./ "5.8.*"
数据库连接
- 对于 Artisan,请在网站目录中的.env 文件中指定用于连接数据库的数据
- 对于网站,请在文件
./config/database.php中指定用于连接数据库的数据
要编辑 .env 文件,您可以通过 SSH 使用名为 nano 的文本编辑器:
nano .env
.env 示例
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C
通过 SSH 编辑 ./config/database.php 文件:
nano ./config/database.php
./config/database.php 示例
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'site_db'),
'username' => env('DB_USERNAME', 'db_user'),
'password' => env('DB_PASSWORD', '0j9vd3qATwTsXW7C'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
在 nano 编辑器中,使用 Ctrl+O 保存更改,使用 Ctrl+X 退出编辑器。
Memcached 连接(可选)
您需要为网站使用的 PHP 版本安装 PHP memcached 模块,并安装该应用程序。
安装 memcached PHP 模块


安装 memcached 应用程序


编辑配置文件
在文件 ./config/cache.php 中指定连接 memcached 的数据
./config/cache.php 示例
'memcached' => [
'driver' => 'memcached',
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
'sasl' => [
env('MEMCACHED_USERNAME'),
env('MEMCACHED_PASSWORD'),
],
'options' => [
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
],
'servers' => [
[
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],
在非系统 PHP 版本上使用 Artisan
要在非系统 PHP 版本上使用 artisan,必须指定可执行文件的完整路径。 使用替代 php 版本 8.2 的示例:
/opt/php82/bin/php artisan list
基本 Artisan 命令
命令应在项目的根目录中执行(本 示例中为 example.com)
cd /var/www/user/data/www/example.com
要查看所有可用 Artisan 命令的列表,您可以使用以下命令
php artisan list
启动本地 Laravel 开发服务器。 您可以指定 --host 和 --port 键
php artisan serve
启动迁移
php artisan migrate
在网站上启用维护模式,使用键 --redirect=/ 指定维护模式页面
php artisan down
关闭网站上的维护模式
php artisan up