MENU

Laravel单域名部署多项目

前言

最近遇到一个困境,场景是这样的,只拥有一个域名,这个域名不能再解析为三级四级五级域名,但是需要部署多个laravel项目。之前做开发的时候都是一个域名对应一个laravel项目,谁他妈遇到有这样子的哦。终于在大佬请教下才得于解决。

解决方法

服务器环境:Nginx、PHP、MySQL

第一个项目默认像之前那样,把域名直接指向laravel项目public文件夹,然后重写的方法就按照给的

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

对于第二个第三个第n个项目的方法:

location ^~ /second11 {                     #second11对应下面@second2中 second1 
   alias  /secondproject/public/;           #第二个项目的路径
   try_files $uri $uri/ @second2;            #重写@second2对应下面的@second2重写方法
   location ~ \.php$ {
      fastcgi_pass unix:/dev/shm/php-cgi.sock;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_param SCRIPT_FILENAME $request_filename;

      include fastcgi_params;
  }
}

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

通过上面的配置的话,你的项目访问链接变成:

# 第一个项目
https://xxxx.com

# 第二个项目
https://xxxx.com/second11/
标签: nginx, laravel
返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码
添加新评论