如何在 nginx 服务器中使用 IP 地址为两个 Laravel 项目提供服务?

Fer*_*reo 2 nginx amazon-ec2 amazon-web-services laravel nginx-config

我使用 nginx 在 Ubuntu 服务器上设置了一个 laravel 项目,现在我需要在同一服务器上部署第二个项目,如果我没有域名但有 IP 地址,我必须如何为我的第二个项目定义 server_name ?我尝试使用XX.XX.XX.XX/mysecondproject但在重新加载 nginx 时出现错误。如果您能帮我解决这个问题,我真的很感激。这是我的 nginx 文件。

server {
listen 80;
listen [::]:80;

root /var/www/mysecondproject/public;

index index.php index.html index.htm index.nginx-debian.html;

server_name XX.XX.XX.XX/mysecondproject;

location / {
        try_files $uri $uri/ /index.php?$query_string;
}

error_page 404 /index.php;

location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
}
Run Code Online (Sandbox Code Playgroud)

}

Fer*_*reo 7

这种方法对我有用。这样,我就有了一个在 IP 地址 (XX.XX.XX.XX) 上运行的first_project,以及在 XX.XX.XX.XX/my_second_project 上运行的第二个应用程序。我仅使用 /etc/nginx/sites-available/default 文件来设置我的服务器。我希望它对将来的人有所帮助。

server {
  listen 80 default_server;
  listen [::]:80 default_server;

  root /var/www/my_first_project/public;

  index index.php index.html index.htm index.nginx-debian.html;

  server_name XX.XX.XX.XX //my IP Address;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location /my_second_project {
    alias /var/www/my_second_project/public;
    try_files $uri $uri/ @my_second_project;

    location ~ \.php$ {
      fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $request_filename;
      include fastcgi_params;
    }
  }

  location @my_second_project {
    rewrite /my_second_project/(.*)$ /my_second_project/index.php?/$1 last;
  }

  error_page 404 /index.php;

  location ~ \.php$ {
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    include fastcgi_params;
  } 
}
Run Code Online (Sandbox Code Playgroud)