最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

docker-compose 部署 php + nginx + mysql + redis

2022-07-21 13:49 作者:限量版范兒  | 我要投稿

1,在開動(dòng)之前首先創(chuàng)建php + nginx + mysql + redis的配置和數(shù)據(jù)存儲(chǔ)路徑,大概是下圖的樣子

編輯

// 因?yàn)槟夸浫空归_會(huì)導(dǎo)致截圖不完整,我在這里介紹一下每個(gè)目錄的功能 mysql ? ?conf: 必要目錄,使用默認(rèn)配置即可,mysql8配置密碼加密方式會(huì)用到 ? ?data: 必要目錄,數(shù)據(jù)存儲(chǔ)路徑 ? ?logs: 必要目錄,日志路徑 nginx ? ?conf: 必要目錄,下面會(huì)放 nginx.conf ? ? ? ?nginx.conf: 必要文件 ? ?conf.d: 不必要目錄,相當(dāng)于vhost ? ? ? ?www.conf: 你的站點(diǎn)配置 ? ?log: 必要目錄,日志路徑 php ? ?etc: 必要目錄,配置項(xiàng)都在這 ? ? ? ?php: 必要目錄。ini文件要放這里 ? ? ? ? ? ?php.ini: 必要文件,php配置文件 ? ? ? ?php-fpm.d: 必要目錄,fpm非通用配置文件目錄 ? ? ? ? ? ?www.conf: 非必要文件,不同用戶不同端口不同任務(wù) ? ? ? ?php-fpm.conf: 必要文件,這是主要配置文件 ? ?extension: 必要目錄,php定制化目錄 ? ? ? ?Dockerfile: 必要文件,這里將定制你需要的php,必要的原因是docker-compose會(huì)從這build ? ?log: 必要目錄,日志路徑 redis ? ?conf: 必要目錄,配置文件目錄 ? ? ? ?redis.conf: 必要文件,配置文件 ? ?data: 必要目錄,持久化文件所在目錄 docker-compose.yaml: 必要文件 ? ? ? ? ? ?


?2,創(chuàng)建好目錄后,我們先來(lái)定制我們的php吧,這個(gè)Dockerfile你可以先build了,因?yàn)樵赿ocker-compose要直接用,鏡像名字隨意,我這里用php74

// 該裝的都裝上// 版本7.4 FROM php:7.4-fpm// composer RUN curl -sS https://getcomposer.org/installer | php \ ? ?&& mv composer.phar /usr/bin/composer && chmod +x /usr/bin/composer// 各種依賴庫(kù)和擴(kuò)展 RUN apt-get update \ ? ?&& apt-get install -y \ ? ?build-essential \ ? ?libmagickcore-dev \ ? ?libmagickwand-dev \ ? ?imagemagick \ ? ?libfreetype6-dev \ ? ?libmcrypt-dev \ ? ?libpng-dev \ ? ?libzip-dev \ ? ?libwebp-dev \ ? ?&& docker-php-ext-configure gd ?--with-webp=/usr/include/webp --with-jpeg=/usr/include --with-freetype=/usr/include/freetype2/ \ ? ?&& docker-php-ext-install -j$(nproc) gd iconv ?pdo_mysql ?mysqli bcmath calendar exif gettext sockets dba ?pcntl ?shmop sysvmsg sysvsem sysvshm zip \ ? ?&& pecl install redis-5.1.1 \ ? ?&& pecl install imagick \ ? ?&& pecl install mcrypt \ ? ?&& docker-php-ext-enable redis imagick mcrypt// 這句很重要,如果和你的nginx用戶不同會(huì)導(dǎo)致你的服務(wù)起不來(lái) RUN groupadd www && useradd -g www www// 如果你需要?jiǎng)e的擴(kuò)展,還可以再加


3,好了,開始制作一下docker-compose.yaml吧

version: '3' services: ?php: ? ?container_name: "php74" // 可以直接用php鏡像,但是出來(lái)可能缺東西,而且環(huán)境也不完整// ? ?image: php:7.4 ? ?build: ./docker-manager/php/extension // 這個(gè)目錄放上我們剛才做好的定制化php的Dockerfile ? ?ports: ? ? ?- "9000:9000" // fpm 端口// ? ?restart: always ? ?volumes: ? ? ?- ./docker-manager/php/etc:/usr/local/etc // 映射配置文件 ? ? ?- ./docker-manager/php/log:/var/log/php // 日志文件映射 ? ? ?// 內(nèi)部邏輯:這個(gè)必須加,因?yàn)閚ginx將請(qǐng)求轉(zhuǎn)發(fā)給php后,實(shí)際上是php去執(zhí)行了腳本解析 ? ? ?- /Users/guoyi/php/src:/www // 項(xiàng)目目錄,我所有的php項(xiàng)目都在src下面,只要去增加nginx配置就可以了,很方便。 ? ?stdin_open: true // stdin_open configures service containers to run with an allocated stdin. ? ?tty: true // tty configure service container to run with a TTY. ? ?links: ? ? ?- "mysql" // 鏈接mysql服務(wù) ? ?networks: ? ? ?app_net: ? ? ? ?ipv4_address: 10.10.10.3 // 分配ip ? ?environment: ? ? ? ?- TZ=Asia/Shanghai # 設(shè)置時(shí)區(qū) ?nginx: ? ?container_name: "nginx" ? ?image: nginx:latest// ? ?build: ./docker-manager/nginx // 也可以定制喲 ? ?restart: always ? ?ports: ? ? ?- "80:80" ? ? ?- "443:443" ? ?environment: ? ? ?- TZ=Asia/Shanghai ? ?depends_on: ? ? ?- "php" // nginx必須依賴php的,所以要用depends_on ? ?links: ? ? ?- "php:php74" // 鏈接php ? ?volumes: ? ? ?- ./docker-manager/nginx/conf.d:/etc/nginx/conf.d // 子配置文件 ? ? ?- ./docker-manager/nginx/conf/nginx.conf:/etc/nginx/nginx.conf // 主配置文件 ? ? ?- ./docker-manager/nginx/log:/var/log/nginx/ // 日志 ? ?networks: ? ? ?app_net: ? ? ? ?ipv4_address: 10.10.10.2 // 分配ip ?mysql: ? ?container_name: "mylsql" ? ?image: mysql:5.7 ? ?ports: ? ? ?- "13306:3306" ? ?volumes: ? ? ?- ./docker-manager/mysql/data:/var/lib/mysql // 數(shù)據(jù)目錄 ? ? ?- ./docker-manager/mysql/conf:/etc/mysql/conf.d // 配置文件 ? ? ?- ./docker-manager/mysql/logs:/data/mysql/logs // 日志 ? ?restart: always ? ?environment: ? ? ?- TZ=Asia/Shanghai ? ? ?- MYSQL_ROOT_PASSWORD=123456 // 初始化密碼 ? ?networks: ? ? ?app_net: ? ? ? ?ipv4_address: 10.10.10.1 // ip ?redis: ? ?container_name: redis ? ?image: redis:5 ? ?restart: always ? ?ports: ? ? ?- "6379:6379" ? ?volumes: ? ? ?- ./docker-manager/redis/conf:/usr/local/etc/redis // 配置文件 ? ? ?- ./docker-manager/redis/data:/data // 數(shù)據(jù)目錄 ? ?command: ? ? ?redis-server /usr/local/etc/redis/redis.conf --requirepass 123456 // 啟動(dòng)redis ? ?environment: ? ? ?- TZ=Asia/Shanghai networks: // 定義網(wǎng)絡(luò) ?app_net: ? ?driver: bridge ? ?driver_opts: ? ? ?com.docker.network.enable_ipv6: "true" ? ?ipam: ? ? ?config: ? ? ? ?- subnet: 10.10.0.0/16


4,到此,環(huán)境相關(guān)的東西就都準(zhǔn)備好了,我們只需要把我們的項(xiàng)目掛載到php容器下面的volumes下面,那就可以直接進(jìn)行開發(fā)調(diào)試了。

https://www.dianjilingqu.com/441648.html

docker-compose 部署 php + nginx + mysql + redis的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
绥宁县| 泾阳县| 碌曲县| 临沧市| 望奎县| 岳阳县| 吉林省| 永靖县| 子长县| 江达县| 荆州市| 河源市| 化州市| 九龙县| 临颍县| 灵丘县| 大理市| 隆昌县| 固阳县| 阳西县| 克拉玛依市| 宁蒗| 怀安县| 额尔古纳市| 那坡县| 兖州市| 阳朔县| 渑池县| 天等县| 平谷区| 和田县| 攀枝花市| 大安市| 滦南县| 望谟县| 米泉市| 湄潭县| 土默特左旗| 孙吴县| 临桂县| 南投市|