阿里云ECS服务器通过子域名配置多个laravel项目

小白,第一次玩服务器,我用的是linux系统的nginx服务,要在服务器配置多项目。。以为很难,其实不难。完事了总结一下。

公司有一个域名如test.com。然后要实现的需求是用a.test.com做一个购物的项目。用b.test.com做一个餐饮的项目。

其实就是在比如www/wwwroot/下配置两个项目一个www/wwwroot/a,一个www/wwwroot/b

然后找到nginx文件中的的nginx.conf,在里面写两个server映射到对应的项目路径,可以都用80端口。
比如:a.test.com访问的是项目www/wwwroot/a,b.test.com访问的是项目www/wwwroot/b

当然你得在阿里云的控制台先做域名解析,很简单,只需要点一下输入一点东西:

阿里云ECS服务器通过子域名配置多个laravel项目_第1张图片
主机记录填子域名名,你自己定义
记录值填你阿里云服务器的公共ip

然后nginx.conf中的设置代码 中文注释的地方是重点

server 
    {
        listen 80;
        server_name a.test.com;	//对应域名
    	root /www/wwwroot/a/public;	//域名指向的项目的根目录(必须是根目录)
    	index index.php index.html index.htm;
  
    	if (!-e $request_filename) {
    		rewrite  ^/(.+?\.php)/?(.*)$  /$1/$2  last;
    		rewrite  ^/(.*)$  /index.php/$1  last;
    	}

    	location ~ \.php($|/){
    		fastcgi_index   index.php;
            fastcgi_pass    unix:/tmp/php-cgi-73.sock;
    		include         fastcgi_params;
    		set $real_script_name $fastcgi_script_name;
    		if ($real_script_name ~ "^(.+?\.php)(/.+)$") {
    			set $real_script_name $1;
    		}
    		fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    		fastcgi_param   PATH_INFO               $fastcgi_path_info;
    		fastcgi_param   SCRIPT_NAME             $real_script_name;
    		fastcgi_param   SCRIPT_FILENAME         $document_root$real_script_name;
    		fastcgi_param   PHP_VALUE               open_basedir=/www/wwwroot/a/:/tmp/:/proc/;	//PHP的cgi解析路径
    		error_log       /www/wwwlogs/test.com_error.log;	//错误日志的生成路径
    	}

    	location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Headers X-Requested-With;
            add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
    		access_log  off;
    		error_log   off;
    		expires     30d;
    	}

    	location ~ .*\.(js|css)?$ {
    		access_log   off;
    		error_log    off;
    		expires      12h;
    	}
    }

其实关键的地方就是servername 和root这两个参数。其他的东西都是和项目相关的配置。再建立多个项目只要把serverl这里复制一下,然后a改成b或者你想要的命名就好了。

总结
1、先阿里云后台做好域名解析(其实就是过去创建一个子域名来用);
2、在nginx配置中做好映射;

你可能感兴趣的:(PHP,Nginx)