> ### 安裝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.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
- 技術擴展閱讀