> ### 安装Docker
```
[root@localhost ~]# yum install docker
[root@localhost ~]# service docker start
```
> ### 安装Docker2(用yum安装docker运行出现权限不足)
- [docker下载1](https://download-stage.docker.com/)
- [docker下载2](https://download.docker.com/)
- https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/
- ce-18.03.0.ce-1.el7.centos.x86_64.rpm 链接:https://pan.baidu.com/s/1QYsZZ5fGQg-Yg7PQXyf3YA 密码:oxgo
```
docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm
[root@VM_0_17_centos local]# yum localinstall -y docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm
[root@VM_0_17_centos local]# service docker start
[root@VM_0_17_centos local]# docker version
Client:
Version: 18.03.0-ce
```
> ### 拉取镜像
- nginx镜像 : docker pull [hub.c.163.com/winniewong/nginx:1.12.2](http://hub.c.163.com/winniewong/nginx:1.12.2)
- php5.6镜像 : docker pull [hub.c.163.com/winniewong/php5:2](http://hub.c.163.com/winniewong/php5:2)
- php7镜像 : docker pull [hub.c.163.com/winniewong/php7:1](http://hub.c.163.com/winniewong/php7:1)
> ### 配置文件 - nginx.conf
```
worker_processes 1;
error_log logs/error.log;
pid logs/nginx.pid;
events {
worker_connections 65535;
}
#负载均匀测试
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream phpserver{
server php5:9000;
server php7:9000;
}
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn perip 10;
server {
listen 80;
server_name localhost;
root /usr/local/www/html;
access_log logs/localhost.log;
location / {
autoindex on;
}
location ~ \.php$ {
fastcgi_index index.php;
fastcgi_pass phpserver;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
#php5项目配置
server {
listen 80;
server_name www.demo1.cn ;
root /usr/local/www/html/demo1;
access_log logs/demo1.log;
location / {
index index.html index.htm index.php;
#autoindex on;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php/$1 last;
break;
}
}
location ~ \.php(.*)$ {
fastcgi_pass php5:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $1;
include fastcgi_params;
}
}
#php7项目配置
server {
listen 80;
server_name www.demo2.cn ;
root /usr/local/www/html/demo2;
access_log logs/demo2.log;
location / {
index index.html index.htm index.php;
#autoindex on;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php/$1 last;
break;
}
}
location ~ \.php(.*)$ {
fastcgi_pass php7:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $1;
include fastcgi_params;
}
}
}
```
> ### docker配置
```
#docker自启
systemctl enable docker
#创建网络
docker network create lnmp
#php5容器
docker run -d --name php5 --net lnmp -v /usr/local/www/html/:/usr/local/www/html/ --restart=always hub.c.163.com/winniewong/php5:2
#php7容器
docker run -d --name php7 --net lnmp -v /usr/local/www/html/:/usr/local/www/html/ --restart=always hub.c.163.com/winniewong/php7:1
#nginx容器
docker run -d -p 80:80 --name lnmp_nginx --net lnmp -v /usr/local/www/html/:/usr/local/www/html/ -v /usr/local/www/nginx/nginx.conf:/usr/local/nginx/conf/nginx.conf --restart=always hub.c.163.com/winniewong/nginx:1.12.2
```
- --name lnmp_nginx 启动容器的名称
- --net lnmp 让nginx, php5, php7 容器加入同一个网络
- -v /usr/local/www/html/:/usr/local/www/html/ 文件映射(将linux下的/usr/local/www/html/文件映射到容器的/usr/local/www/html/下)
- --restart=always 失败重启
- 第一序 PHP开发环境
- 1.1 Windows开发环境
- A计划(下载php继承环境-phpStudy)
- B计划(phpStudy压缩包)
- 1.2 Linux开发环境
- A计划(yum安装PHP开发环境)
- B计划(编译安装PHP开发环境)
- Centos7编译安装Nginx
- Centos7编译安装PHP
- Centos7编译安装MySQL
- C计划(Docker拉取PHP开发环境镜像)
- 使用介绍
- 拉取镜像
- 第二序 相关阅读
- 2.1 相关阅读1
- 2.2 相关阅读2
- 2.3 相关阅读3
- 第三序 留言板项目
- 3.1 静态模板
- 3.2 原生PHP实现
- 3.3 ThinkPHP5实现
- 3.4 其他开发者的代码
- 第四序 调试工具
- 4.1 打印工具
- 4.2 跟踪调试代码 XDebug
- 4.3 接口调试工具 SocketLog
- 第五序 验证码
- 5.1 验证码1
- 5.2 验证码2
- 5.3 验证码3-1
- 5.4 验证码3-2
- 第六序 加密和解密
- 6.1 旧的加密方式
- 6.2 新的加密方式
- 第七序 原生MySQL工具类
- 7.1 mysql.lib.php(MySQL扩展)
- 7.2 mysqli.lib.php(MySQLI扩展)
- 7.3 pdo.lib.php(PDO扩展)
- 7.4 使用案例
- 第八序 分页功能
- 8.1 ThinkPHP自定义分页模板
- 8.2 组装分页
- 8.3 弹框分页处理
- 8.4 原生分页
- 第九序 算法
- 9.1 查找
- 9.1.1 二分查找
- 9.2 排序
- 9.2.1 交换排序-冒泡排序
- 9.2.2 插入排序 - 直接插入排序
- 9.2.3 插入排序 - 希尔排序
- 9.2.4 交换排序 - 快速排序
- 9.3 算法求解应用
- 第十序 模板集群(多项目用到的模块)
- 10.1 ThinkPHP5.1新特性: 容器
- 10.2 加载规范测试例子
- 10.3 开始使用
- 10.3.1 项目托管
- 10.3.2 容器ZContainer
- 10.3.3 服务示例(Tools_Excel)
- 10.3.4 其它项目使用服务
- 第十一序 Excel表格导入和导出
- 11.1 PHPExcel导入导出
- 11.2 导入代码
- 11.3 导出代码
- 11.4Tools_Excel
- 第十二序 地图
- 12.1 百度地图
- 12.2 谷歌地图
- 第十三序 模板
- 13.1 ThinkPHP5模板
- 13.2 Smarty模板
- 13.3 Yii2
- 第十四序 图片上传
- 14.1 Uploadify
- 14.2 AjaxFileUpload.js
- 14.3 WebUploader
- 第十五序 支付功能
- 15.1 PayPal
- 技术扩展阅读