Laravel Aws Nginx在一个弹性IP上的多个项目



我是AWS Laravel部署的新手,我以前一直在使用Hostgator,在那里管理多个域相当容易。然而,我想做的事情非常有限,所以我们决定查看AWS。

我所拥有的:

  • ec2实例
  • 与实例关联的弹性ip
  • 已安装Ubuntu 18.04
  • 已安装Nginx
  • Laravel 8项目

目前我正在测试多个项目的部署。我创建了多个EC2实例(空闲实例(。我让它发挥了作用现在的问题是我想利用成本**有没有可能让多个还没有域的项目只运行一个实例。

例如:

  • 可访问暂存项目1@18.186.128.145:5000
  • 可访问暂存项目2@18.186.128.145:9000

我一直在本地环境中这样做。我只是不知道AWS Nginx部署是否完全可能

这是我正在工作的Nginx配置文件。(示例中的随机IP btw(

server {
listen 80;
server_name 18.186.128.145;
root /var/www/laravel/project-staging-1/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
error_page 404 /index.php;
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.(?!well-known).* {
deny all;
}
}

我到处都找过,但我能看到的都是托管域名的例子,或者有子文件夹或子域的例子。如果有现有的答案,请向我指出,我将不胜感激。

我还不知道我所做的是否真的可能。如果可以的话,请给我建议,如果不可能的话,最好采取行动。非常感谢

我能够使它成为可能。

我已经将nginx正在监听的端口列入"白名单";ufw">然而事实证明,我也有"安全组";在我的AWS Ec2实例中,我还需要将要使用的端口列入白名单。

  • 因此,将安全组的入站规则中的端口列入白名单
  • 允许ufw中的端口
  • 编辑nginx配置文件以侦听要使用的端口
  • 如果计划打开多个端口,则可以创建多个服务器块

最新更新