顾乔芝士网

持续更新的前后端开发技术栈

中标麒麟X86(kylin、neokylin)apache、php容器化环境部署

#### 目标

使用容器技术部署php运行环境

#### 安装前准备

1GB空闲内存,1GB硬盘空间

#### 自定义docker网络

```

docker network create my_app_network

```

#### 容器化php安装(版本7.3.*)

* 从百度云盘下载php7.3的x86的镜像压缩文件

```

链接:
https://pan.baidu.com/s/1qFNFXNJT1aqT5ulhJYV04A?pwd=1234 提取码: 1234

```

* 将压缩包导入镜像

```

docker load < my-php7.3-x86-app.tar.gz

```

* 创建并运行容器

***宿主机必须存在/var/www/site1文件夹,否则无法同步***

```

docker run -d --name site1 -v /var/www/site1:/var/www/html -p 9001:9000 my-php7.3-x86-app:latest

```

* 链接到网络

```

docker network connect my_app_network site1

```

#### apache安装(版本2.24.*)

* 安装

```

yum update -y

yum install httpd -y

systemctl start httpd

systemctl enable httpd

systemctl status httpd

```

* 配置

在/etc/httpd/conf.d文件夹下增加site1.conf文件,文件内容如下

```

touch /etc/httpd/conf.d/site1.conf

```

```apache

<VirtualHost *:80>

ServerName {site1.example.com}

ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9001/var/www/html/{public}/$1

DocumentRoot {/var/www/site1/public}

<Directory {/var/www/site1}>

DirectoryIndex index.php

Options Indexes FollowSymLinks

AllowOverride All

Require all granted

</Directory>

</VirtualHost>

```

* {}里面的内容是变量,需要根据实际情况替换,如果使用的是thinkphp技术,可以把变量周围的{}去掉直接使用

* {site1.example.com}站点域名

* {public}项目在php7.3容器内的执行相对路径

* {/var/www/site1/public}项目执行路径

* {/var/www/site1}项目路径

* 配置完毕后一定要重启systemctl restart httpd生效

#### 注意事项

* docker的离线安装可以参考[中标麒麟(kylin、neokylin)离线部署PolarDB-X企业版集群单container开发环境介绍](
https://app.yinxiang.com/fx/98195601-0bec-49f9-82e4-16f2dbe5f861)的docker离线安装部分

* 笔者在安装时候发现缓存影响安装效果查看,这个时候可以把宿主机重启

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言