【AWS】使用EC2搭建Laravel环境,包括Nginx、PHP、Composer和PHP-FPM
首先
重疊不斷的第一次使用AWS和Laravel,我在導入過程中遇到了一些困難。
起初我打算使用Apache作為Web服務器軟件,但不知為何,即使安裝了Laravel,也無法通過路徑,進展非常緩慢…(也許現在我能解決這個問題了…)
總之,經過一番努力,我找到了使用Nginx進行導入的方法,並成功進行了導入。
在之前的文章中,我們啟動了 EC2 的實例並描述了 SSH 連接。這次,我們將通過 SSH 連接到 EC2,並使用 PHP、Nginx、Composer、PHP-FPM 等工具進行環境配置。
操作步骤
1. SSH连接
2. PHP的安装
执行以下命令,安装EPEL仓库(EPEL仓库中包含了PHP软件包)。
sudo yum install epel-release
运行以下命令安装PHP
sudo yum install php
完成安装后,PHP将成功安装。要检查版本,请执行以下命令:
php -v
3. 安装 Nginx。
sudo yum install -y nginx
请确认Nginx是否正确安装。
sudo systemctl status nginx
4. 安装Composer
请按以下顺序执行命令来安装实例所需的软件包。
sudo yum update -y
sudo yum install php-cli php-zip wget unzip -y
请下载Composer的官方安装脚本,并执行以下命令。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
请验证Composer安装脚本的完整性。请执行以下命令。
php -r "if (hash_file('sha384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
执行Composer的安装脚本,安装Composer。
php composer-setup.php
php -r "unlink('composer-setup.php');"
使用以下命令将Composer的路径添加到/usr/local/bin中。
sudo mv composer.phar /usr/local/bin/composer
为了确认安装是否成功,请执行以下命令来显示Composer的版本。
composer --version
8. 在安装时发生错误,导致缺少了以下的组件。先快速安装它们来解决问题!
sudo yum install php-mbstring
sudo yum install php-dom
composer install
5. PHP-FPM的配置
sudo vim /etc/php-fpm.d/www.conf
当编辑工作完成后,按下Esc键,然后使用:wq命令退出vim编辑器。
6. Nginx的配置
在conf.d/目录下创建一个名为laravel.conf的新文件。
sudo vim /etc/nginx/conf.d/laravel.conf
在Laravel官方网站上,有一个关于Nginx配置的示例,可以参考。请访问链接:https://laravel.com/docs/8.x/deployment#nginx。将Nginx配置示例复制并粘贴到laravel.conf文件中。
server {
listen 80;
listen [::]:80;
server_name example.com;
root /srv/example.com/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
3. 稍微修改内容
7. Laravel 的安装/项目创建
运行以下命令,在www目录下创建一个Laravel项目。
cd /var/www/
composer create-project --prefer-dist laravel/laravel 【プロジェクト名】
2. 确认Laravel项目是否已生成。
ls -a
修改项目名称/storage的权限
cd /var/www/【プロジェクト名】/
sudo chmod -R 777 storage/
5. 创建加密密钥 yuè de
cp .env.example .env
php artisan key
好的,我们继续往下进行。
8. 启动Nginx和PHP-FPM。
sudo yum systemctl start nginx
sudo yum systemctl start php-fpm
9. Laravel确认/环境已设置完成
回到AWS EC2控制台,通过【公共IP地址】或【公共IPv4 DNS】进行URL搜索,如果显示Laravel的默认页面,则表示Laravel环境已成功设置完成。
10.总结