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. 插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。


.安装环境

  操作系统:linuxcentOS

  软件:jdk

  软件:maven

  软件:jenkins2.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.配置JDKmaven

在已运行的jenkins主页中,点击左侧的系统管理进入如下界面:

技术分享

   技术分享

   技术分享

      2.插件安装

MavenIntegration plugin

Subversion Plug-in

Publish Over SSH

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 !几行脚本搞定自动化部署,这款神器有点厉害!

微软发布新工具:一键搞定VSCode的Java开发环境

Docke容器分离部署LNMP

五步搞定Android开发环境部署,快来收藏!

Jenkins+Docker 一键自动化部署 SpringBoot 项目

Jenkins+Docker 一键自动化部署 SpringBoot 项目