dnmp一键部署搞定的php开发环境基于Docker的LNMP一键安装程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dnmp一键部署搞定的php开发环境基于Docker的LNMP一键安装程序相关的知识,希望对你有一定的参考价值。
参考技术A
项目地址:GitHub - suyar/docker-php-env: 基于 Docker 的 PHP 开发环境
本项目是一套用于 PHP 的 Docker 开发环境,站在巨人 [DNMP] 的肩膀上衍生的一个版本。
为什么会有这个项目:
DNMP 首次启动需要进行构建,时间较长,步骤繁琐
DNMP 有一些容器抛出的错误日志,没有进行修复
DNMP 部分镜像 TZ 环境变量不生效
DNMP 产生大量 docker logs 占用磁盘空间,需要重建容器才能释放
其他问题…
大部分场景下,我们希望开箱即用。当然,凡事都有两面性,不需要构建的代价,就是对镜像的定制化能力变低,看个人取舍。
重要的事情说三遍:
该项目仅适用于本地开发,不能用于生产环境
该项目仅适用于本地开发,不能用于生产环境
该项目仅适用于本地开发,不能用于生产环境
目前支持开箱即用的服务有:
mysql5.7(使用官方镜像)
Mysql8.0(使用官方镜像)
phpMyAdmin(使用官方镜像)
Redis(使用官方镜像)
phpRedisAdmin(使用官方镜像)
Memcached(使用官方镜像)
PHP8.1/PHP8.0/PHP7.4/PHP7.3(使用基于官方的集成镜像 suyar/php:x.x-integration)
nginx(使用官方镜像)
RabbitMQ(使用官方镜像)
MongoDB(使用官方镜像)
Mongo-Express(使用官方镜像)
Elasticsearch(使用官方镜像)
Kibana(使用官方镜像)
目录
1. 目录结构
2. 快速使用
3. PHP 扩展
3.1 PHP 预置扩展
3.2 安装 PHP 扩展
3.3 在 PHP 容器中执行命令
3.4 使用 composer
4. 常见问题
4.1 如何在其他容器中请求 nginx 配置的域名
4.2 在 PHP 容器中使用 cron 定时任务
4.3 在 PHP 容器中使用 supervisor
4.4 清空服务数据
License
Jenkins+SVN+Maven持续集成一键部署环境
Jenkins+SVN+Maven持续集成一键部署环境
一.jenkins介绍
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
Jenkins拥有的特性:
a. 易于安装:只要把jenkins.war部署到servlet容器,不需要数据库的支持。
b. 易于配置:所有配置都是通过其提供的web界面实现。
c. 集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。
d. 生成JUnit/TestNG测试报告。
e. 分布式构建支持jenkins能够让多台计算机一起构建/测试。
f. 文件识别:jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
g. 插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。
二.安装环境
操作系统:linux(centOS)
软件:jdk
软件:maven
软件:jenkins(2.60版)
三.安装步骤
1.安装JDK
tar xf jdk-8u60-linux-x64.tar.gz -C /application/ #【直接解压到指定的路径】 ln -s /application/jdk1.8.0_60/ /application/jdk #【创建软链接】 #【配置环境变量】 sed -i.ori ‘$a export JAVA_HOME=/application/jdk\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar‘ /etc/profile . /etc/profile #【使环境变量生效】 |
2.安装jenkins
2.1下载jenkins包
jenkins官方地址:https://jenkins.io/download/
【这里我选择的是2.6.0的版本】
2.2运行jenkins.war开始安装jenkins
mkdir /srv/jenkins && cd /srv/Jenkins |
将war上传到这里
echo "export JENKINS_HOME=/srv/jenkins" >> /etc/profile && . /etc/profile #【配置jenkins的跟目录】 |
nohup java -jar jenkins.war > jenkins.out & 【以守护进程的方式运行】 |
注意:jenkins需要运行 java5以及以上的版本
还有一种安装方式就是将下载的jenkins.war包直接复制到servlet容器(直接放到webapps目录下即可,自动解压),然后启动容器,在浏览器的URL地址栏输入类似http://101.37.119.101:8080这样的地址即可。
2.3在浏览器上输入ip地址(http://ip:端口)即可访问,如图:
2.4首次进入jenkins如要输入密码
密码位置:/root/.jenkins/secrets/initialAdminPassword
2.5进入选择插件安装界面
选择第一个(Install suggested plugins)
或者安装后自定义选择插件进行安装。
2.6插件安装完成之后,需要创建第一个用户
2.7创建用户之后,就可以使用jenkins了
到此,jenkins的基本安装就已经完成了!!!
3.安装maven
1、下载maven安装软件到本地目录,/application/ (随便选择下载目录,只是下面配置环境变量时注意);
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz |
2、解压安装包;
tar xf apache-maven-3.3.9-bin.tar.gz -C /application/ ln -s apache-maven-3.3.9/ maven |
3、修改环境变量,增加如下一段:/etc/profile
export MAVEN_HOME=/application/maven export PATH=${MAVEN_HOME}/bin:$PATH |
4、使环境变量生效;
source /etc/profile |
5、检验安装是否成功;
mvn -version |
如果出现类似于下面的就代表成功了!
四.配置jenkins页面
1.配置JDK和maven
在已运行的jenkins主页中,点击左侧的系统管理进入如下界面:
2.插件安装
Role-based Authorization Strategy
SVN Publisher plugin
3.系统设置
可以看到主目录已经根据自己的定义修改了。
配置从SVN拉取代码的账号及密码:
Publish over SSH插件部分
配置要控制的远端机器【通过SSH插件来完成】:
首先要在服务器之间做好免密钥认证。
4.创建视图
5.为创建的视图新建项目
远程执行的脚本如下:
五.jenkins新建用户组、用户、授权策略
系统管理 ====》 管理用户
管理用户分组及授权策略等:
六.jenkins使用
查看控制台输出的过程有多种方式:
这里代表所有操作执行完毕,服务的启动是否有异常,还得到服务器上查看启动日志。
本文出自 “学习之旅” 博客,请务必保留此出处http://blogtank.blog.51cto.com/10511324/1965544
以上是关于dnmp一键部署搞定的php开发环境基于Docker的LNMP一键安装程序的主要内容,如果未能解决你的问题,请参考以下文章
再见 Jenkins !几行脚本搞定自动化部署,这款神器有点厉害!