docker部署thinkphp
1. 安装thinkphp
按照thinkphp官网给出的Git安装操作,下面步骤摘自官网:
ThinkPHP5.1 主要分为应用和核心两个仓库,主要包括:
应用项目: https://github.com/top-think/think
核心框架: https://github.com/top-think/framework
之所以设计为应用和核心仓库的分离,是为了支持 Composer 单独更新核心框架。
安装也需要分两步操作,首先克隆下载应用项目仓库
git clone https://github.com/top-think/think tp5
然后切换到 tp5 目录下面,再克隆核心框架仓库(注意目录名称不要改变):
git clone https://github.com/top-think/framework thinkphp
如果你访问 github 速度比较慢,可以考虑下面两个国内GIT仓库(国内仓库以稳定版本为主,不确
保实时更新):
[ 码云 ]
应用项目:https://gitee.com/liu21st/thinkphp5.git
核心框架:https://gitee.com/liu21st/framework.git
删除tp5下面.git文件夹,然后把你远程服务器的git仓库拉取下来(比如我这里是一个空仓库),将里面的.git文件夹剪切到tp5下。
然后修改.gitignore文件,把里面的thinkphp那一行删掉,然后把runtime添加进去,还有其他你想要忽略的文件/文件夹。
最后,在/public/static下也有一个.gitignore文件,我们把它删掉就好了。
我用的是这一个,附上地址:https://hub.docker.com/r/1and1internet/ubuntu-16-apache-php-7.1/
docker pull 1and1internet/ubuntu-16-apache-php-7.1
我写了一个shell,如下:
#!/bin/bash
docker stop php7 && docker rm php7
docker run --name php7 \
-p 8001:8080 \
-v /home/jim/projects/phpRoot/tp5:/var/www \
-v /home/jim/projects/phpRoot/tp5/public:/var/www/html \
-d 1and1internet/ubuntu-16-apache-php-7.1:latest
执行这个shell脚本,就能启动项目了,在浏览器访问http://你的ip:8001就能访问项目了。
在nginx配置文件里面,通常是在/etc/nginx/conf.d下,打开或新建 xxx.conf文件。有的配置文件在/usr/local/nginx/conf/nginx.conf,这个要看用户自己是怎么安装的了。
然后输入以下内容:
server {
listen 80;
server_name test.xiejindou.com;
location / {
proxy_pass http://127.0.0.1:8001;
}
}
这样,你在浏览器里面访问http://test.xiejindou.com就能访问到项目了。