资讯专栏INFORMATION COLUMN

基于docker, 快速搭建Nginx+Php+https本地开发环境, 免于手动安装PHP扩展

khlbat / 2610人阅读

摘要:是什么主要解决什么问题基于快速搭建本地开发环境已含常用扩展配置文件日志文件和工程代码都在宿主机上方便修改可以解决新人加入团队配置麻烦而且是重复劳动开发环境不一致没问题上了出现各种问题扩展安装有问题比如电脑本地多个版本扩展不一致项目新功能需要

NginxPhpDocker是什么, 主要解决什么问题

基于docker, 快速搭建Nginx+Php本地开发环境(已含常用PHP扩展), nginx、php配置文件,日志文件和php工程代码都在宿主机上, 方便修改.

可以解决:

新人加入团队, 配置LNMP麻烦, 而且是重复劳动

prod, staging, local开发环境不一致, local没问题, 上了staging,prod出现各种问题

php扩展安装有问题, 比如: mac电脑, 本地多个php版本, 扩展不一致(eg: memcache, memcached)

项目新功能需要安装新扩展, 所有开发者都要安装一遍

NginxPhpDocker github url

1. 如何使用呢? 1.1 download code
git clone git@github.com:weiwenwang/NginxPhpDocker.git
cd NginxPhpDocker
1.2 启动php容器
docker run -it -d 
--name myphp 
-v $PWD/www/php:/www/php 
-v $PWD/www/example:/www/example 
--privileged=true 
wangnan188/nginx-php-docker:v7.2-v1
1.3 启动nginx容器
docker run -it -d 
-p 80:80 
-p 443:443 
-v $PWD/nginx-conf/conf.d:/etc/nginx/conf.d 
-v $PWD/nginx-conf/nginx.conf:/etc/nginx/nginx.conf 
-v $PWD/www/html:/www/html 
-v $PWD/www/example:/www/example 
-v $PWD/ssl/server.crt:/etc/nginx/ssl/server.crt 
-v $PWD/ssl/server.key:/etc/nginx/ssl/server.key 
-v $PWD/log/nginx:/var/log/nginx/ 
--link=myphp:myphp_alias 
--privileged=true 
--name=mynginx nginx
1.4 注意事项, 非常重要

1.2, 1.3的两个指令必须在NginxPhpDocker目录下执行

PHP代码的文件夹, 必须挂在到PHP容器里面, 有小伙伴使用的时候挂到nginx容器里面了, nginx和PHP俩容器是隔离的, php只会按地址在他们自己的容器里面找文件, 和nginx只是通过fastcgi通信, nginx告诉php用户请求的文件地址, php在自己的容器去找对应的文件

1.5 执行1.2、1.3之后效果是什么样子的呢?



3. 如何把现有的项目跑起来呢?

这里我举例个例子, 假如我们现在的项目(thinkphp_3.2.3_full)就是thinkphp框架写的, 我如何把它运行起来呢?
第一步: 把代码放在www/example/目录下
第二步: 添加配置文件nginx-conf/conf.d/example-thinkphp.conf, 剩下的就是单纯的nginx配置问题了.
本地做一个host绑定: "127.0.0.1 thinkphp-full.com"
浏览器访问: http://thinkphp-full.com/inde...

4. wangnan188/nginx-php-docker现在包含了哪些extension呢?
extension status remark - extension status remark -
Core YES - - redis YES - -
ctype YES - - gd YES - -
curl YES - - xdebug YES - -
date YES - - mongodb YES - -
dom YES - - swoole YES - -
fileinfo YES - - memcached YES - -
filter YES - - memcache NO - -
ftp YES - -
hash YES - -
iconv YES - -
json YES - -
libxml YES - -
mbstring YES - -
mysqlnd YES - -
openssl YES - -
pcre YES - -
PDO YES - -
pdo_sqlite YES - -
Phar YES - -
posix YES - -
readline YES - -
Reflection YES - -
session YES - -
SimpleXML YES - -
sodium YES - -
SPL YES - -
sqlite3 YES - -
standard YES - -
tokenizer YES - -
xml YES - -
xmlreader YES - -
xmlwriter YES - -
zlib YES - -
5. 其他

后续php extensions有补充, 可能不能及时更新此文章, 最新版本请移步: github

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31133.html

相关文章

  • 基于docker, 快速搭建Nginx+Php+https本地开发环境, 免于手动安装PHP扩展

    摘要:是什么主要解决什么问题基于快速搭建本地开发环境已含常用扩展配置文件日志文件和工程代码都在宿主机上方便修改可以解决新人加入团队配置麻烦而且是重复劳动开发环境不一致没问题上了出现各种问题扩展安装有问题比如电脑本地多个版本扩展不一致项目新功能需要 NginxPhpDocker是什么, 主要解决什么问题 基于docker, 快速搭建Nginx+Php本地开发环境(已含常用PHP扩展), ngi...

    AlphaGooo 评论0 收藏0
  • 基于docker, 快速搭建Nginx+Php+https本地开发环境, 免于手动安装PHP扩展

    摘要:是什么主要解决什么问题基于快速搭建本地开发环境已含常用扩展配置文件日志文件和工程代码都在宿主机上方便修改可以解决新人加入团队配置麻烦而且是重复劳动开发环境不一致没问题上了出现各种问题扩展安装有问题比如电脑本地多个版本扩展不一致项目新功能需要 NginxPhpDocker是什么, 主要解决什么问题 基于docker, 快速搭建Nginx+Php本地开发环境(已含常用PHP扩展), ngi...

    Mr_houzi 评论0 收藏0
  • 使用URLOS低门槛快速开发和分发docker应用,未来微服务发展大趋势

    摘要:使用技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力。例如我们要安装然后使用查看我们的扩展是否安装成功。启动和,检查是否正常运行。单容器运行若勾选,则表示安装此应用时,每个服务只运行一个容器。 使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力。在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如今在微服务架构越来越流行的情况下,微服务...

    张巨伟 评论0 收藏0

发表评论

0条评论

khlbat

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<