Docker LNMP环境搭建

本文介绍如何使用Docker容器,快速部署LNMP环境。 最终完成的环境我们称为:DNMP(即 Docker + Nginx + MySQL + PHP)。 最终实现一键部署LNMP环境的目的,该环境特点: github仓库地址:https://github.com/yeszao/dnmpQQ群:572041090 (请备注dnmp交流) 1 快速使用 1、安装git、docker和docker-compose。2、使用git下载完整代码: 3、用docker-compose命令启动容器,首次使用需要下载镜像,会稍慢: 4、然后在浏览器中访问localhost,就可以看到如下页面: 5、源代码在:./www/site1/ 目录下。 2 安装docker和docker-compose 具体安装步骤: 注意:Docker安装要求Linux 3.10以上版本,用uname -a命令可查看到。安装之后,可查看版本: 然后把当前用户加到docker用户组里面: 就不用每次启动Docker都得加sudo了。 注意,执行gpasswd命令之后要重新登陆才有效。 3 使用国内镜像仓库 在没有梯子的情况下,Docker默认从Docker Hub仓库下载镜像,完整的LNMP镜像估计需要一两天时间。 所以只能换个途径,比如使用阿里云的加速仓库。 首先注册一个阿里云账号,然后访问阿里云的Docker镜像仓库,能找到加速器地址。 对于Docker 1.10+,打开配置文件 /etc/docker/daemon.json(没有时新建该文件): 以上是我的加速地址。 然后重启Docker Daemon: 就可以了。 Docker 1.10以下请看:https://yq.aliyun.com/articles/29941。 4 目录说明 大致框架如下:(图片使用UMLet绘制,下载原文件) 4.1 目录结构 目录结构如下: 4.2 站点部署 本文有默认加了两个站点:www.site1.com(同localhost)和www.site2.com。 要在本地访问这两个域名,需要修改你的hosts文件,添加以下两行: 其中,www.site2.com为支持SSL/https和HTTP/2的示例站点。 因为站点2的SSL采用自签名方式,所以浏览器有安全提示,继续访问就可以了,自己的站点用第三方SSL认证证书替换即可。 … Read more

FastPHP 教程

1 什么是MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式。 MVC把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。 PHP中MVC模式也称Web MVC,从上世纪70年代进化而来。 MVC的目的是实现一种动态的程序设计,便于后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。 除此之外,此模式通过对复杂度的简化,使程序结构更加直观。 MVC各部分的职能: 一个典型的Web MVC流程: 2 为什么要自己开发MVC框架 网络上有大量优秀的MVC框架可供使用,本教程并不是为了开发一个全面的、终极的MVC框架解决方案。 我们将它看作是一个很好的从内部学习PHP的机会。 在此过程中,你将学习面向对象编程和MVC设计模式,并学习到开发中的一些注意事项。 更重要的是,通过自制MVC框架,每个人都可以完全控制自己的框架,将你的想法融入到你的框架中。 这不是很美妙的事情吗~~~ 3 准备工作 3.1 环境准备 这里我们需要最基本的PHP环境: 推荐使用phpStudy或docker一键安装这样的LNMP环境。 3.2 代码规范 在目录设置好以后,我们接下来规定代码的规范: 上述规则是为了程序能更好地相互调用。 接下来就开始真正的PHP MVC编程了。 3.3 目录准备 在开始开发前,我们给这个框架先起个名字吧,就叫:Fastphp框架。 然后根据需要来把项目的目录创建。 假设我们建立的项目为 project,目录结构就这样: 然后按照下一步,把Nginx或者Apache的站点根目录配置到project目录,。 3.4 重定向 重定向的目的有两个:设置根目录为project所在位置,以及将所有请求都发送给 index.php 文件。 如果是Apache服务器,在 project 目录下新建一个 .htaccess 文件,内容为: 如果是Nginx服务器,修改配置文件,在server块中加入如下的重定向: 这样做的主要原因是: (1)静态文件能直接访问。如果文件或者目录真实存在,则直接访问存在的文件/目录。 比如,静态文件static/css/main.css真实存在,就可以直接访问它。 (2)程序有单一的入口。 这种情况是请求地址不是真实存在的文件或目录,这样请求就会传到 index.php 上。 … Read more

Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start writing! [phub_video video_id=”67cba3cc86113″]