之前的項(xiàng)目目錄如下:
├─data 數(shù)據(jù)盤
│ ├─www 網(wǎng)站根目錄
│ │ ├─project1 項(xiàng)目1
│ │ ├─project2 項(xiàng)目2
│ │ ├─project3 項(xiàng)目3
│ │ ├─project4 項(xiàng)目4
訪問路徑:
http://www.chaisz.xyz/project1/ 項(xiàng)目1
http://www.chaisz.xyz/project2/ 項(xiàng)目2
http://www.chaisz.xyz/project3/ 項(xiàng)目3
http://www.chaisz.xyz/project4/ 項(xiàng)目4
現(xiàn)在的項(xiàng)目目錄如下:
├─data 數(shù)據(jù)盤
│ ├─www
│ ├─project1 項(xiàng)目1
│ ├─project2 項(xiàng)目2
│ ├─project3 項(xiàng)目3
訪問路徑:
http://www.chaisz.xyz/ 項(xiàng)目www
http://project1.chaisz.xyz/ 項(xiàng)目1
http://project2.chaisz.xyz/ 項(xiàng)目2
http://project3.chaisz.xyz/ 項(xiàng)目3
域名云解析需要添加A記錄矾策,主機(jī)記錄:*柑司,記錄值:服務(wù)器公網(wǎng)IP驮审。
nginx config 更改:
server{
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /data/$subdomain/public;
# Make site accessible from http://localhost/
server_name ~^(?<subdomain>.+).chaisz.xyz$;
location / {
index index.php index.html index.htm;
#如果請(qǐng)求既不是一個(gè)文件阱驾,也不是一個(gè)目錄拘泞,則執(zhí)行一下重寫規(guī)則
if (!-e $request_filename)
{
#地址作為將參數(shù)rewrite到index.php上恨统。
rewrite ^/(.*)$ /index.php/$1;
#若是子目錄則使用下面這句叁扫,將subdir改成目錄名稱即可。
#rewrite ^/subdir/(.*)$ /subdir/index.php/$1;
}
}
#proxy the php scripts to php-fpm
location ~ \.php {
include fastcgi_params;
##pathinfo支持start
#定義變量 $path_info 延欠,用于存放pathinfo信息
set $path_info "";
#定義變量 $real_script_name陌兑,用于存放真實(shí)地址
set $real_script_name $fastcgi_script_name;
#如果地址與引號(hào)內(nèi)的正則表達(dá)式匹配
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
#將文件地址賦值給變量 $real_script_name
set $real_script_name $1;
#將文件地址后的參數(shù)賦值給變量 $path_info
set $path_info $2;
}
#配置fastcgi的一些參數(shù)
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
###pathinfo支持end
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
}
location ^~ /data/runtime {
return 404;
}
location ^~ /application {
return 404;
}
location ^~ /simplewind {
return 404;
}
}
如果要支持HTTPS需要買通配符域名證書,配置參考上面由捎。
我的只有一個(gè)單域名證書兔综, 只支持 www
443端口的配置就不修改了。