购买并配置阿里云ecs,选择靠近用户的地域和centos/ubuntu系统,配置安全组开放80、443、22及3306端口;2. 通过ssh连接服务器,安装nginx或apache、php及扩展、composer和mysql/mariadb;3. 使用ftp或scp上传laravel项目至/var/www/html目录,或通过git clone拉取代码;4. 配置nginx或apache的虚拟主机,指向项目public目录并设置伪静态规则;5. 进入项目目录执行composer install、复制.env文件、生成app_key、配置数据库信息并运行php artisan migrate;6. 设置storage和bootstrap/cache目录权限为www-data:www-data(ubuntu)或apache:apache(centos);7. 重启web服务使配置生效,浏览器访问域名或ip验证部署结果;8. 若nginx伪静态不生效,检查配置语法、root路径、try_files指令、php-fpm socket及文件权限;9. 使用supervisor管理队列,安装后创建配置文件指定artisan queue:work命令、运行用户、进程数和日志路径,再通过supervisorctl加载并启动进程;10. 配置https需申请ssl证书,修改nginx或apache配置启用ssl,设置证书路径并重定向http到https;11. 安全加固包括及时更新系统、使用强密码、禁用非必要服务、配置防火墙、启用fail2ban、使用ssh密钥登录并限制登录ip、安装ids及定期备份数据;所有步骤完成后即可成功部署laravel项目并保障基本安全与功能稳定。

阿里云 ECS 上部署 Laravel 项目,核心在于服务器环境配置、项目上传和伪静态设置。简单来说,就是搭好房子、搬进去、再把门牌号弄对。
解决方案
购买并配置阿里云 ECS
安装必要的软件
安装 Web 服务器 (Nginx 或 Apache)
Nginx (推荐):
sudo yum update # CentOS sudo apt update # Ubuntu sudo yum install nginx # CentOS sudo apt install nginx # Ubuntu sudo systemctl start nginx sudo systemctl enable nginx
Apache:
sudo yum update # CentOS sudo apt update # Ubuntu sudo yum install httpd # CentOS sudo apt install apache2 # Ubuntu sudo systemctl start httpd sudo systemctl enable httpd
安装 PHP 和必要的扩展
sudo yum install php php-fpm php-mysqlnd php-gd php-xml php-mbstring # CentOS 7 sudo apt install php php-fpm php-mysql php-gd php-xml php-mbstring # Ubuntu
根据 Laravel 的要求,可能还需要安装其他的 PHP 扩展,例如
php-zip
php-curl
安装 Composer
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer
安装 MySQL 或 MariaDB
MySQL:
sudo yum install mysql-server # CentOS 7 sudo apt install mysql-server # Ubuntu sudo systemctl start mysqld sudo systemctl enable mysqld sudo mysql_secure_installation # 安全配置
MariaDB:
sudo yum install mariadb-server # CentOS 7 sudo apt install mariadb-server # Ubuntu sudo systemctl start mariadb sudo systemctl enable mariadb sudo mysql_secure_installation # 安全配置
上传 Laravel 项目
/var/www/html
git clone
配置 Web 服务器
Nginx 配置 (推荐):
创建 Nginx 配置文件
/etc/nginx/conf.d/laravel.conf
server {
    listen 80;
    server_name your_domain.com; # 替换为你的域名或服务器 IP
    root /var/www/html/your_project/public; # 替换为你的项目 public 目录
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根据你的 PHP 版本修改
    }
    location ~ /\.ht {
        deny all;
    }
}重启 Nginx 服务:
sudo systemctl restart nginx
Apache 配置:
修改 Apache 配置文件
/etc/httpd/conf/httpd.conf
/etc/apache2/apache2.conf
确保
AllowOverride All
<Directory /var/www/html>
<Directory /var/www/html/your_project>
在项目根目录下创建或修改
.htaccess
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>
    RewriteEngine On
    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]
    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    # Handle Authorization Header
    <IfModule mod_headers.c>
        RewriteEngine On
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    </IfModule>
</IfModule>重启 Apache 服务:
sudo systemctl restart httpd
sudo systemctl restart apache2
配置 Laravel 项目
cd /var/www/html/your_project
composer install
.env.example
.env
cp .env.example .env
php artisan key:generate
.env
DB_HOST
DB_DATABASE
DB_USERNAME
DB_PASSWORD
php artisan migrate
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chown -R apache:apache storage bootstrap/cache
配置伪静态
伪静态的配置已经在 Web 服务器配置中完成,Nginx 和 Apache 的配置文件都包含了伪静态规则。
访问你的网站
在浏览器中输入你的域名或服务器 IP 地址,如果一切配置正确,你应该能看到你的 Laravel 项目。
Nginx 伪静态配置不生效怎么办?
首先,确认 Nginx 配置文件中的
root
public
try_files
sudo nginx -t
fastcgi_pass
www-data
nginx
storage
bootstrap/cache
如何使用 Supervisor 管理 Laravel 的队列?
Supervisor 是一个进程管理工具,可以用来监控和管理 Laravel 的队列进程。
安装 Supervisor:
sudo yum install supervisor # CentOS sudo apt install supervisor # Ubuntu
创建 Supervisor 配置文件:
在
/etc/supervisor/conf.d/
laravel-queue.conf
[program:laravel-queue] process_name=%(program_name)s_%(process_num)02d command=php /var/www/html/your_project/artisan queue:work --sleep=3 --tries=3 autostart=true autorestart=true user=www-data ; Ubuntu ;user=apache ; CentOS numprocs=8 redirect_stderr=true stdout_logfile=/var/www/html/your_project/storage/logs/queue.log stopwaitsecs=3600
command
user
numprocs
stdout_logfile
更新 Supervisor 配置并启动队列进程:
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start laravel-queue:*
检查队列进程状态:
sudo supervisorctl status
如何配置 HTTPS?
配置 HTTPS 需要申请 SSL 证书,并配置 Web 服务器使用该证书。
申请 SSL 证书:
配置 Nginx 或 Apache 使用 SSL 证书:
Nginx:
修改 Nginx 配置文件,添加 HTTPS 的配置。
server {
    listen 80;
    server_name your_domain.com;
    return 301 https://$server_name$request_uri; # 将 HTTP 请求重定向到 HTTPS
}
server {
    listen 443 ssl;
    server_name your_domain.com;
    ssl_certificate /path/to/your/ssl_certificate.pem; # 替换为你的 SSL 证书路径
    ssl_certificate_key /path/to/your/ssl_certificate_key.key; # 替换为你的 SSL 证书密钥路径
    root /var/www/html/your_project/public;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}Apache:
修改 Apache 配置文件,启用 SSL 模块并配置 SSL 证书。
<VirtualHost *:443>
    ServerName your_domain.com
    DocumentRoot /var/www/html/your_project/public
    SSLEngine on
    SSLCertificateFile /path/to/your/ssl_certificate.crt # 替换为你的 SSL 证书路径
    SSLCertificateKeyFile /path/to/your/ssl_certificate_key.key # 替换为你的 SSL 证书密钥路径
    <Directory /var/www/html/your_project>
        AllowOverride All
    </Directory>
</VirtualHost>重启 Web 服务器:
重启 Nginx 或 Apache 服务,使配置生效。
如何进行服务器安全加固?
服务器安全加固是一个持续的过程,需要不断地更新和调整。以下是一些常见的安全加固措施:
部署 Laravel 项目到阿里云 ECS 上可能遇到的问题很多,但只要耐心排查,总能找到解决方案。 记住,遇到问题多查资料,多尝试,不要轻易放弃。
以上就是阿里云 ECS 上部署 Laravel 项目教程(含伪静态配置)的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                 
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                            Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号