校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 使用docker搭建一套開發環境全家桶的詳細教程

使用docker搭建一套開發環境全家桶的詳細教程

熱門標簽:400 電話 申請費用 比較穩定的外呼系統 鸚鵡螺號航海地圖標注時間 云南云電銷機器人招商 ai電話機器人營銷 長沙回撥外呼系統 江蘇自動外呼系統一般多少錢 山東電信外呼系統靠譜嗎 信貸電銷機器人系統

DNMP介紹

DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)是一款全功能的LNMP一鍵安裝程序。支持的服務豐富、功能強大、使用簡單、兼容多平臺。是適用于多端的一款docker開發與生產環境的PHP環境全家桶。

DNMP項目特點:

  • 100%開源
  • 100%遵循Docker標準
  • 支持多版本PHP共存,可任意切換(PHP5.4、PHP5.6、PHP7.1、PHP7.2、PHP7.3)
  • 支持綁定任意多個域名
  • 支持HTTPS和HTTP/2
  • PHP源代碼、MySQL數據、配置文件、日志文件都可在Host中直接修改查看
  • 內置完整PHP擴展安裝命令
  • 默認支持 pdo_mysql、 mysqli、 mbstring、 gd、 curl、 opcache等常用熱門擴展,根據環境靈活配置
  • 可一鍵選配常用服務:
  1. 多PHP版本:PHP5.4、PHP5.6、PHP7.1-7.3
  2. Web服務:Nginx、Openresty
  3. 數據庫:MySQL5、MySQL8、Redis、memcached、MongoDB、ElasticSearch
  4. 消息隊列:RabbitMQ
  5. 輔助工具:Kibana、Logstash、phpMyAdmin、phpRedisAdmin、AdminMongo
  6. 實際項目中應用,確保 100%可用
  7. 所有鏡像源于Docker官方倉庫,安全可靠
  8. 一次配置,Windows、Linux、MacOs皆可用
  9. 支持快速安裝擴展命令 install-php-extensions apcu
  10. 具體使用文檔可參考:https://gitee.com/bruce_qiq/dnmp/blob/master/README.md。文檔中已經有一個明確的使用教程。接來下,主要針對安裝完之后,做的一些基本操作做一個簡單的演示,因為部分操作在源文檔不是很詳細,并且有明顯的坑。主要記錄幾個功能:

1.修改無法連接MySQL問題。

2.配置NGINX虛擬域名。

3.安裝PHP擴展。

因為個人打算持續使用該包來做自己的開發環境,后面會針對不同的問題做總結,同時也會根據原主的倉庫基礎下,進行迭代更新。歡迎關注。公號卡二條的技術圈

修改MySQL連接問題

由于dnmp在安裝時,是將本地的3305端口映射到MySQL容器的3306端口,因此我們在連接是需要連接3305端口。

在示例代碼的www目錄下面,有一個localhost目錄,我們找到測試MySQL的一段代碼,如下:

// 檢測MySQL服務
function getMysqlVersion()
{
  if (extension_loaded('PDO_MYSQL')) {
    try {
      $dbh = new PDO('mysql:host=192.168.2.103;dbname=mysql', 'root', '123456');
      $sth = $dbh->query('SELECT VERSION() as version');
      $info = $sth->fetch();
    } catch (PDOException $e) {
      return $e->getMessage();
    }
    return $info['version'];
  } else {
    return 'PDO_MYSQL 擴展未安裝 ×';
  }
}

我們只需要修改為如下代碼:

// 檢測MySQL服務
function getMysqlVersion()
{
  if (extension_loaded('PDO_MYSQL')) {
    try {
      $dbh = new PDO('mysql:host=192.168.2.103;port=3305;dbname=mysql', 'root', '123456');
      $sth = $dbh->query('SELECT VERSION() as version');
      $info = $sth->fetch();
    } catch (PDOException $e) {
      return $e->getMessage();
    }
    return $info['version'];
  } else {
    return 'PDO_MYSQL 擴展未安裝 ×';
  }
}

這里的192.168.2.103是我們宿主機的ip,根據你實際的情況填寫即可。可以通過ifconfig查看。如果是Windows系統,則使用ipconfig查看。

ifconfig

配置NGINX域名

在配置之前,我們需要明確這么幾個東西。我們源碼目錄位置、NGINX配置文件位置、NGINX日志文件位置。特別注意:

1.我們可以通過截圖看見,conf.d目錄下面存在兩個配置文件。這兩個就是我事先配置好的域名文件。這個文件,是通過NGINX容器映射到本地磁盤。因此可以通過宿主機進行查看。

2.logs文件就是NGINX的error,access等相關日志文件,同樣的是在NGINX容器中映射到宿主機的。

3.這里的www就是程序源碼路徑,我們的所有程序源碼都放在這里即可。

對于NGINX域名配置文件,推薦進入到容器進行編寫,而不是通過在宿主機進行編寫。

第一步:進入我們的www目錄,安裝一個應用程序。這里推薦使用compser來安裝,對于composer的使用,也可以參考文檔進行簡單配置即可使用。

ert@ertiaodeMac-mini  ~/develop/env/dnmp/www   master ●  composer create-project topthink/think=5.1.35 tp5
Creating a "topthink/think=5.1.35" project at "./tp5"
Installing topthink/think (v5.1.35)
 - Installing topthink/think (v5.1.35): Loading from cache
Created project in /app/tp5
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
 - Installing topthink/think-installer (v2.0.0): Loading from cache
 - Installing topthink/framework (v5.1.39): Loading from cache
Writing lock file
Generating autoload files
 ert@ertiaodeMac-mini  ~/develop/env/dnmp/www   master ●  ll
total 0
drwxr-xr-x  3 ert staff  96B 9 6 22:02 localhost
drwxr-xr-x 19 ert staff  608B 9 8 22:26 tp5

這樣本地就按照好了一個tp5的框架了。第二步:進入NGINX容器,通過docker ps查看docker容器的container-id,使用docker exec命令進入到容器內部。

ert@ertiaodeMac-mini  ~/develop/env/dnmp/www   master ●  docker ps
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS                   NAMES
0f5f9cd08aa2    dnmp_php      "docker-php-entrypoi…"  27 hours ago    Up About an hour  9000/tcp, 9501/tcp             php
8bc44fc8c578    dnmp_nginx     "/docker-entrypoint.…"  27 hours ago    Up 26 hours     0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp  nginx
f02ad53bf14d    mysql:5.7.28    "docker-entrypoint.s…"  27 hours ago    Up 26 hours     33060/tcp, 0.0.0.0:3305->3306/tcp     mysql5
 ert@ertiaodeMac-mini  ~/develop/env/dnmp/www   master ●  docker exec -it 8bc44fc8c578 /bin/sh
/www # ls
localhost tp5

進入NGINX配置文件路徑

/ # cd /etc/nginx/
/etc/nginx # ls -la
total 60
drwxr-xr-x  1 root   root     4096 Sep 8 20:23 .
drwxr-xr-x  1 root   root     4096 Sep 7 19:34 ..
drwxr-xr-x  5 root   root      160 Sep 8 20:05 conf.d
-rw-r--r--  1 root   root      429 Sep 6 22:02 fastcgi-php.conf
-rw-r--r--  1 root   root     1077 Jul 8 00:14 fastcgi.conf
-rw-r--r--  1 root   root     1062 Sep 6 22:02 fastcgi_params
-rw-r--r--  1 root   root     2837 Jul 8 00:14 koi-utf
-rw-r--r--  1 root   root     2223 Jul 8 00:14 koi-win
-rw-r--r--  1 root   root     5231 Jul 8 00:14 mime.types
lrwxrwxrwx  1 root   root      22 Jul 11 04:27 modules -> /usr/lib/nginx/modules
-rw-r--r--  1 root   root      760 Sep 6 22:02 nginx.conf
drwxr-xr-x  2 root   root     4096 Sep 8 20:23 rewrite
-rw-r--r--  1 root   root      636 Jul 8 00:14 scgi_params
-rw-r--r--  1 root   root      664 Jul 8 00:14 uwsgi_params
-rw-r--r--  1 root   root     3610 Jul 8 00:14 win-utf

conf.d就是我們的域名配置路徑,nginx就是默認的配置文件。

創建一個域名配置文件。

/etc/nginx # cd conf.d/ && touch tp5.conf
/etc/nginx/conf.d # ls -la
total 16
drwxr-xr-x  5 root   root      160 Sep 8 20:05 .
drwxr-xr-x  1 root   root     4096 Sep 8 20:23 ..
-rw-r--r--  1 root   root      48 Sep 6 22:02 .gitignore
-rw-r--r--  1 root   root     2254 Sep 6 22:02 localhost.conf
-rw-r--r--  1 root   root      505 Sep 8 20:29 tp5.conf

配置tp5.conf文件。復制如下內容:

server {
  listen 80;
  server_name tp5.com;
  root /www/tp5/public;
  index index.php;
  #NGINX日志文件,如果是其他的域名,直接替換nginx.tp5.com.xx.log文件名稱即可。
  access_log /var/log/nginx/nginx.tp5.com.access.log;
  error_log /var/log/nginx/nginx.tp5.com.error.log;
  #thinkphp5的url重寫文件,避免重復編寫,單獨放一個文件,以后其他的thinkphp項目,直接引入即可。
  include rewrite/thinkphp.conf;
  location ~ \.php$ {
      # 這里的php是php容器的名稱,可以改為實際的ip,不建議使用,因為ip會變化。
      fastcgi_pass  php:9000;
      include     fastcgi-php.conf;
      fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
      include     fastcgi_params;
    }
}

測試域名配置,并重啟NGINX服務。

/etc/nginx/conf.d # nginx -t && nginx -s reload
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
/etc/nginx/conf.d #

將域名添加到宿主機的host文件。

訪問測試

PHP擴展安裝

在搭建docker環境時,PHP的Redis擴展默認是沒安裝,這里就以Redis擴展為例。

由于內置了部分擴展(具體有哪些擴展,參考上面提到的使用文檔),因此直接使用命令安裝即可。

install-php-extensions redis

測試擴展

/www # php --ri redis
redis
Redis Support => enabled
Redis Version => 5.3.1
......

總結

到此這篇關于使用docker搭建一套開發環境全家桶的文章就介紹到這了,更多相關docker搭建開發環境全家桶內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:澳門 齊齊哈爾 烏海 嘉興 運城 亳州 衡陽 拉薩

巨人網絡通訊聲明:本文標題《使用docker搭建一套開發環境全家桶的詳細教程》,本文關鍵詞  使用,docker,搭建,一套,開發,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用docker搭建一套開發環境全家桶的詳細教程》相關的同類信息!
  • 本頁收集關于使用docker搭建一套開發環境全家桶的詳細教程的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    艳妇臀荡乳欲伦亚洲一区| 国产专区欧美精品| 久久丁香综合五月国产三级网站| 国产老妇另类xxxxx| 欧美三级视频在线播放| 国产欧美一区在线| 日本 国产 欧美色综合| 91久久精品国产91性色tv| 国产亚洲欧美日韩俺去了| 亚洲韩国精品一区| 色诱视频网站一区| 国产精品午夜春色av| 麻豆精品一区二区| 欧美日韩午夜在线| 亚洲人成7777| 972aa.com艺术欧美| 国产丝袜欧美中文另类| 久久99精品久久久| 91精品国产欧美一区二区成人| 一区二区三区中文在线观看| 不卡一区二区三区四区| 国产色综合一区| 国产专区欧美精品| 精品剧情v国产在线观看在线| 视频一区二区三区入口| 欧美日韩免费观看一区二区三区| 亚洲美女屁股眼交| 色综合中文字幕国产 | 另类小说色综合网站| 欧美在线不卡一区| 一区二区三区欧美久久| 色一情一伦一子一伦一区| 亚洲欧美日韩国产成人精品影院 | 久久理论电影网| 老鸭窝一区二区久久精品| 欧美一卡二卡三卡| 日韩av不卡一区二区| 5月丁香婷婷综合| 美女一区二区在线观看| 欧美大片免费久久精品三p| 美女视频一区二区三区| 久久亚洲一区二区三区明星换脸| 国产一区二区主播在线| 国产亚洲成年网址在线观看| 成人污视频在线观看| 亚洲欧洲日产国产综合网| 色综合久久久久久久久久久| 亚洲影院理伦片| 欧美一区二区视频观看视频| 久久se这里有精品| 国产精品三级av| 91精彩视频在线| 日韩电影在线免费看| 日韩精品在线看片z| 东方aⅴ免费观看久久av| 国产精品家庭影院| 欧美日韩精品一区二区| 九九精品视频在线看| 国产精品久久精品日日| 欧美日韩国产片| 激情小说欧美图片| 亚洲日本va在线观看| 欧美日本韩国一区| 国产99久久精品| 亚洲国产日日夜夜| 国产网站一区二区三区| 99国产精品久久久| 日本成人中文字幕在线视频 | 日韩无一区二区| 成人午夜伦理影院| 日韩成人午夜精品| 1024成人网色www| 欧美电影免费观看完整版 | 国产成人免费av在线| 亚洲欧美日韩在线| 久久综合九色综合97婷婷| av资源站一区| 精品在线一区二区三区| 亚洲精品国产a久久久久久| 精品成人一区二区三区四区| 91在线视频播放地址| 国内精品伊人久久久久av影院| 亚洲综合清纯丝袜自拍| 日本一区二区综合亚洲| 日韩无一区二区| 欧美综合视频在线观看| 成人免费毛片app| 九九视频精品免费| 午夜精品福利一区二区三区蜜桃| 国产精品麻豆欧美日韩ww| 日韩三级视频中文字幕| 欧美午夜电影一区| 不卡的av电影| 国产成人免费在线视频| 精品一区二区在线免费观看| 日韩和欧美一区二区三区| 洋洋成人永久网站入口| 亚洲色图另类专区| 国产精品日韩精品欧美在线| 久久婷婷国产综合国色天香| 欧美一二三四区在线| 欧美在线免费观看视频| 色综合 综合色| 97精品久久久午夜一区二区三区 | 成人动漫一区二区| 精品一二线国产| 日本免费新一区视频| 亚洲成人综合网站| 一区二区三区欧美| 一区二区三区四区激情| 最新久久zyz资源站| 中文字幕欧美日本乱码一线二线| 久久久99久久| 国产视频一区在线观看| 国产欧美一区二区精品久导航| 日韩免费视频一区二区| 2023国产一二三区日本精品2022| 精品国产成人系列| 欧美大片拔萝卜| 久久久亚洲欧洲日产国码αv| 久久青草欧美一区二区三区| 国产日韩精品一区二区浪潮av| 亚洲精品一区二区三区影院 | 一区二区三区四区在线播放| 亚洲永久免费av| 亚洲成av人片在线| 日韩高清国产一区在线| 精品一区二区日韩| 国产精品一区二区在线观看不卡 | 国产一区美女在线| 国产伦精品一区二区三区免费迷| 韩国成人福利片在线播放| 懂色一区二区三区免费观看| 色综合久久88色综合天天免费| 欧洲av一区二区嗯嗯嗯啊| 欧美一区二区三区公司| 精品国产免费一区二区三区四区 | 日韩免费高清视频| 久久久久久99久久久精品网站| 国产精品美日韩| 亚洲一区二区综合| 久久电影网站中文字幕| 成人爱爱电影网址| 欧美日韩成人综合天天影院| 欧美成人一区二区| 中文字幕一区二区三区不卡| 天天免费综合色| 国产成人精品三级麻豆| 欧美三级日韩在线| 国产欧美精品一区| 丝袜美腿亚洲一区二区图片| 国产一区二三区| 欧美日韩亚洲综合一区| 国产欧美久久久精品影院| 一级特黄大欧美久久久| 国产精品亚洲第一区在线暖暖韩国| 97精品视频在线观看自产线路二| 日韩亚洲国产中文字幕欧美| 中文字幕一区视频| 麻豆国产一区二区| 色欲综合视频天天天| 国产婷婷色一区二区三区在线| 亚洲在线视频一区| 成人av免费在线观看| 欧美mv和日韩mv的网站| 亚洲国产精品一区二区www| 国产精品1024久久| 日韩午夜激情电影| 一二三四社区欧美黄| 成人高清视频在线观看| 日韩欧美视频在线| 亚洲一区免费观看| 99re视频精品| 欧美激情综合五月色丁香| 青青草91视频| 欧美人xxxx| 亚洲另类在线制服丝袜| 盗摄精品av一区二区三区| 日韩视频国产视频| 亚洲国产精品麻豆| 91欧美一区二区| 欧美国产精品一区| 国产一区二区三区免费播放| 欧美二区在线观看| 亚洲自拍偷拍麻豆| 在线欧美日韩国产| 一区二区三区欧美| 91片黄在线观看| 亚洲少妇最新在线视频| av欧美精品.com| 国产精品久久精品日日| 成人天堂资源www在线| 久久久久久久久久美女| 国产一区二区三区高清播放| 日韩欧美另类在线| 国内成人免费视频| 久久伊人蜜桃av一区二区| 狠狠色丁香久久婷婷综| 精品国产一区二区三区久久影院| 天堂成人免费av电影一区|