1. 说明
根据之前设置好的基础,我打算设置两种不同的虚拟主机运行在这个K8s集群上面,一个是LNMP体系的WebApp,一个是Java SpringBoot体系的WebApp。
1.1 设置表格
- wwwroot 是之前做pvc定义的文件目录,形如:/data0/nfs/iot-age-wwwroot-pvc-202ba85a-fd3f-4817-98ea-6764f9ec0d55
主机域名 | 体系 | 指向hosts ip | 项目存放路径 |
t1.k8s-t1.com | PHP | 192.168.0.106 | wwwroot/t1 |
t2.k8s-t1.com | PHP | 192.168.0.106 | wwwroot/t2 |
2. LNMP 虚拟主机
2.1 准备工作
先在本地准备好两个t1,t2文件夹,里面各放置一个index.php
<?
echo "T1 Site is {$_SERVER['HTTP_HOST']} <br>";
phpinfo();
<?
echo "T2 Site is {$_SERVER['HTTP_HOST']} <br>";
phpinfo();
上传到设置表格描述的对应路径
当前容器组截图
2.2 配置虚拟主机
在KubeSphere后台,去 配置-》配置字典,在nginx-conf配置项中,点编辑设置
添加数据项,t1.k8s-t1.com.conf & t2.k8s-t1.com.conf
server {
listen 80;
listen [::]:80;
server_name t1.k8s-t1.com;
index index.php index.html;
error_log /var/log/nginx/t1.error.log;
access_log /var/log/nginx/t1.access.log;
root /var/www/html/t1;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
expires 30d;
access_log off;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
完成后,需重启nginx pods, 可分别访问这两个域名验证结果
3. Java Springboot 虚拟主机
... 待补充
4. 遇到的问题
- 不能用软链方式访问项目目录,在找解决办法