首页 文章 精选 留言 我的

精选列表

搜索[PD分离],共10006篇文章
优秀的个人博客,低调大师

docker分离部署lnmp

以下所需的全部的文件、镜像、软件,如有需要请到我的百度云分享下载: 链接:http://pan.baidu.com/s/1kUVNdsj 密码:an9l 项目需求: 构建lnmp平台。 要求nginx、php、mysql分开布署。 Nginx通过fastcgi方式支持php动态页面 实验完整框架如下: 说明:使用单一进程容器,即一个容器只运行一种服务,而不是把所有服务放在一个容器的设计,让lnmp项目需要的Nginx、PHP、MySQL组件,分别运行在各自镜像创建出来的独立容器中。 实验步骤如下: 1、安装docker1.12并开始服务 1)安装docker1.12 2)开启docker服务并开机自启 3)关闭selinux(一定要关闭) 4)开启路由转发功能 5)下载centos6镜像 (我这里已经下载好,并做成了归档压缩包,只用解压即可) 2、创建实验所用文件夹以及文件 1)分别创建工作目录 2)再分别创建相应目录下的文件和子目录 3、分别编辑nginx、php、mysql的dockerfile文件以及各自的supervisord.conf文件 1)nginx ①编辑nginx的dockerfile文件 #images of nginx FROM centos:centos6 MAINTAINER from zhengpengfei@example.com #install supervisor RUN yum -y install python-setuptools RUN /usr/bin/easy_install supervisor #install nginx RUN yum -y install pcre-devel zlib-devel gcc make ADD ./software/nginx-1.6.2.tar.gz /usr/src RUN useradd -M -s /sbin/nologin nginx RUN cd /usr/src/nginx-1.6.2/ && ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --user=nginx --group=nginx && make && make install #Modify nginx configuration file COPY nginx.conf /usr/local/nginx/conf/ RUN ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin RUN mkdir /usr/local/nginx/html/web #Open nginx service COPY supervisord.conf /etc/supervisor/supervisord.conf EXPOSE 80 CMD ["/usr/bin/supervisord"] ②编写nginx的supervisord.conf配置文件 ③docker build -t命令制作nginx镜像 ④镜像制作完成 2)php ①编辑php的dockerfile文件 #images of php FROM centos:centos6 MAINTAINER from zhengpengfei@example.com #install supervisor RUN yum -y install python-setuptools RUN /usr/bin/easy_install supervisor #install php RUN yum -y install gd libxml2-devel libjpeg-devel libpng-devel mysql-devel gcc make RUN useradd -M -s /sbin/nologin php ADD ./software/php-5.3.28.tar.gz /usr/src RUN cd /usr/src/php-5.3.28/ RUN cp /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so RUN cd /usr/src/php-5.3.28/ && ./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql --with-mysqli --with-mysql-sock --with-config-file-path=/usr/local/php --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib && make && make install #Modify PHP configuration file RUN cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf COPY php-fpm.conf /usr/local/php/etc/ RUN mkdir -p /var/www/html/web #Open php-fpm service ADD ./supervisord.conf /etc/supervisor/supervisord.conf EXPOSE 9000 CMD ["/usr/bin/supervisord"] ②编写php的supervisord.conf配置文件 ③docker build -t命令制作php镜像 ④镜像制作完成 3)mysql ①编辑mysql的dockerfile文件 #image of mysql FROM centos:centos6 MAINTAINER from zhengpengfei@example.com #install supervisor RUN yum -y install python-setuptools RUN /usr/bin/easy_install supervisor #install mysql RUN yum -y install ncurses-devel make gcc gcc-c++ ADD ./software/cmake-2.8.12.tar.gz /usr/src ADD ./software/mysql-5.5.38.tar.gz /usr/src RUN cd /usr/src/cmake-2.8.12 && ./configure && gmake && gmake install RUN cd /usr/src/mysql-5.5.38 && cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all && make && make install #Optimal adjustment mysql WORKDIR /usr/src/mysql-5.5.38/ RUN cp -rf ./support-files/my-medium.cnf /etc/my.cnf RUN cp -rf ./support-files/mysql.server /etc/rc.d/init.d/mysqld RUN chmod +x /etc/rc.d/init.d/mysqld RUN echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile RUN source /etc/profile #Initialize mysql RUN groupadd mysql RUN useradd -M -s /sbin/nologin mysql -g mysql RUN chown -R mysql:mysql /usr/local/mysql RUN /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ #service mysql start ADD ./supervisord.conf /etc/supervisor/supervisord.conf EXPOSE 3306 CMD ["/usr/bin/supervisord"] ②编写mysql的supervisord.conf配置文件 ③docker build -t命令制作mysql镜像 ④镜像制作完成 4、编写docker-compose.yml文件 5、安装docker-compose 1)先安装pip 2)再安装compose 6、通过docker-compose启动项目 7、进入mysql容器修改数据库root密码以及创建数据库和创建授权用户 1)修改数据库用户root密码 2)创建数据库 3)创建授权用户 4)给root用户授予全部权限 8、做html、php页面和数据库访问测试 1)制作html、php测试页 2)测试nginx和php的访问处理 3)制作数据库的测试页面 4)测试数据库连接 至此说明nginx、php、mysql三者的协同工作已经没有问题了 8、安装一个电影网站,做最后的lnmp协同工作测试 1)解压缩SKYUC 2)设置权限 分别去nginx和php容器给予权限: php: nginx: 3)宿主机防火墙开启80例外 4)在一台客户机安装SKYUC 本文转自Mr大表哥 博客,原文链接:http://blog.51cto.com/zpf666/1905555 如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册