利用docker搭建php7和nginx运行环境的全过程
程序员文章站
2022-03-03 23:06:19
...
由于以前是使用docker image进入到容器使用yum安装nginx或php,发现整个image较大快2G。大文件会影响环境移值,也没有什么技术含量。 今天在网上找了一下分环境安装,将nginx和php分开2个images.下面是我安装的流程 环境介绍:
- 主机根目录: /home/docker
- 主机网站根目录:/home/docker/www
- 主机nginx相关目录:/home/docker/nginx/conf.d
准备工作 1、使用docker加速器
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://68abbefd.m.daocloud.ioservice docker restart
2、下载相关镜像
docker pull nginx
docker pull php:7.1.0-fpm
还有有点慢,慢慢等。
3、建立相关目录
mkdir -p /home/docker/www
mkdir -p /home/docker/nginx/conf.d
4、编辑default.conf
vim /docker/nginx/conf.d/default.conf # 以下为示例内容
server {
listen 80 default_server;
server_name _;
root /usr/share/nginx/html;
location / { index index.html index.htm index.php;
autoindex off;
}
location ~ \.php(.*)$ {
root /var/www/html/;
fastcgi_pass 172.17.0.2:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
###搭建环境 1、启动php镜像
docker run -p 9000:9000 --name myphp \-v /home/docker/www/:/var/www/html/ --privileged=true -d php:7.1.0-fpm #php7.1启用
2、启动nginx镜像
docker run -p 80:80 --name mynginx \-v /docker/www:/usr/share/nginx/html \-v /docker/nginx/conf.d:/etc/nginx/conf.d \--privileged=true \-d nginx
3、查看镜像运行状态
docker ps-a
4、生成php测试文件info.php
在/home/docker/www/info.php
<?php phpinfo();" >
========附本人调试历史命令===========
1,docker run -it -p 8081:80 --name my_nginx -v /home/docker/nginx_conf:/etc/nginx/conf.d -v /home/docker/www:/usr/share/nginx/html --privileged=true #运行nginx状态,可以使用-d
2,docker exec -it [my_nginx容器ID] #进入查看nginx状态
3,docker run -p 9000:9000 --name myphp -v /home/docker/www/:/var/www/html/ --privileged=true -d php:7.1.0-fpm #运行php
curl http://121.12.*.*:8081 #成功
docker inspect --format='{{.NetworkSettings.IPAddress}}' myphp
vi /home/docker/nginx_conf/default.conf [详见主机文件]
docker ps
4,http://121.12.*.*:8081/phpinfo.php
5,查看 docker logs -f <容器名orID> #可以查看nginx访问日志
转载于:https://my.oschina.net/7795442/blog/1627574
上一篇: Nginx安装全过程