php - 如何在 AWS linux AMI 上使用 Nginx 设置 Laravel
问题描述
我正在尝试在 AWS linux ami 上使用 nginx 使用 laravel,但是当我尝试访问我的实例公共 ip 时,我找不到文件。这就是我所做的
sudo amazon-linux-extras install nginx1
sudo service nginx start
在这一步之后,我确定 nginx 正在工作,因为我可以看到 nginx 网页。现在我正在尝试安装 laravel
sudo amazon-linux-extras install php7.3
sudo yum install php-xml php-mbstring
sudo service php-fpm start
sudo service nginx restart
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
composer global require laravel/installer
export PATH=$PATH:/home/ec2-user/.config/composer/vendor/bin/
laravel new test
sudo vi /etc/nginx/nginx.conf
server {
listen 80;
server_name _;
root /home/ec2-user/test/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
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-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
sudo chown -R apache:apache storage/
sudo chown -R apache:apache bootstrap/cache
当我尝试加载我的页面时,我收到未找到的文件。
解决方案
您可以通过 2 种方式解决此问题:
- 提供有效的服务器名称/域
- 修复 Nginx 默认 IP 地址
提供有效的服务器名称
您需要在 Nginx 配置中修复服务器名称,您已将服务器名称设置为_
. 您需要在那里放置一个有效的域名。例如:
server_name example.com;
然后创建指向IP地址的域的A记录。例如:
example.com A 123.123.123.123
修复 Nginx 默认配置
默认情况下,如果您安装 Nginx,服务器 IP 会从中获取文件,/var/www/html
因此您可以通过 2 种方式找到此问题:
- 上传默认路径下的文件
- 更改 Nginx 默认路径
上传默认路径下的文件:
- 1、删除
html
下的文件夹/var/www/
- 2nd uload你的laravel文件里面
/var/www/
- 第三次将您的 laravel 项目
public
文件夹重命名为html
- 现在重启nginx并访问你的ip
更改 Nginx 默认路径
- 打开默认文件
sudo nano /etc/nginx/sites-enabled/default
- 查找
root /var/www/html
并替换为/var/www/html
您的路径 - 重启nginx,然后访问你的IP
推荐阅读
- java - Mockito 调用主类的方法
- python - 如何在python中将数字缩写(1.70 M,1.600 B,2.1M)转换为整数
- javascript - 开关 - 添加或删除图层
- asp.net-core - 无法在 ASP.NET Core Web API 中上传图像文件 - POST 方法
- reactjs - 如何删除产品已被选中
- c# - 我的带有 MySql 后端数据库代码的 C# 在 VS 2019 中运行良好,但编译后,可执行文件将在第一次查询时中断
- c# - 如何在 C# 中解析这个 jsonobject
- selenium - 尝试在詹金斯上运行硒时出现问题
- javascript - 如果 Javascript 中缺少对象键,则跳过未定义错误
- varnish - 无法将 Varnish 放在端口 80