摘要:初始環(huán)境注測(cè)試主機(jī)已設(shè)置好軟件源,虛擬主機(jī)默認(rèn)是用戶登錄目標(biāo)環(huán)境一前期準(zhǔn)備文件列表選擇的是版依賴準(zhǔn)備準(zhǔn)備環(huán)境搭建使用,參考相應(yīng)官網(wǎng)安裝使用清華源安裝卸載舊版本
初始環(huán)境:
[注:測(cè)試主機(jī)已設(shè)置好軟件源,虛擬主機(jī)默認(rèn)是root用戶登錄]
[]:~/tmp# lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 9.9 (stretch) Release: 9.9 Codename: stretch []:~/tmp#
目標(biāo)環(huán)境:
[docker+] php-7.3.6 redis-5.0.5 memcached-1.5.16 openresty-1.15.8.1(nginx+lua) mysql-8.0.16 mongodb-4.0.10
一、前期準(zhǔn)備
1、文件列表(mysql選擇的是debian、x64、server版)
https://www.php.net/distributions/php-7.3.6.tar.xz http://download.redis.io/releases/redis-5.0.5.tar.gz https://memcached.org/files/memcached-1.5.16.tar.gz https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-server-dbgsym_8.0.16-2debian9_amd64.deb https://openresty.org/download/openresty-1.15.8.1.tar.gz https://fastdl.mongodb.org/src/mongodb-src-r4.0.10.tar.gz
2、依賴準(zhǔn)備
PHP: apt-get install curl libxml2-dev libssl-dev libzip4 libzip-dev libbz2-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev libgmp-dev libgmp3-dev libcurl4-gnutls-dev librecode-dev libreadline-dev libtidy-dev libxslt1-dev -y OpenResty: apt-get install libpcre3-dev libssl-dev perl make build-essential curl -y
3、docker準(zhǔn)備
環(huán)境搭建使用docker,參考相應(yīng)官網(wǎng):《Debian安裝Docker》、《使用清華源安裝docker》
[]:~/tmp# vim docker_install.sh #!/bin/bash #1. 卸載舊版本 apt-get remove docker docker-engine docker.io #2. 安裝依賴 apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y #3. curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - #4. x86_64添加軟件倉(cāng)庫(kù) add-apt-repository "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -cs) stable" #5. 更新源并安裝 apt-get update && apt-get install docker-ce -y []:~/tmp# chmod +x docker_install.sh && ./docker_install.sh
第一步準(zhǔn)備完成
二、Dockerfile準(zhǔn)備
1、PHP部分
參考官方:《alpine安裝php》
[]:~/tmp# mkdir -p dk/php []:~/tmp# vim dk/php/Dockerfile # php7.3.5; Feb 7, 2019 link: https://github.com/docker-library/php/blob/master/7.3/alpine3.9/fpm/Dockerfile # Base images 基礎(chǔ)鏡像+阿里源 FROM alpine:3.9 #MAINTAINER 維護(hù)者信息 MAINTAINER cffycls@foxmail.com # dependencies required for running "phpize" ENV PHP_VERSION 7.3.6 ENV PHP_URL https://secure.php.net/get/php-$PHP_VERSION.tar.xz/from/this/mirror ENV PHPIZE_DEPS autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories && apk update && addgroup -g 82 -S web && adduser -u 82 -D -S -G web web && mkdir -p "/usr/local/etc/php/conf.d" && mkdir -p "/var/www/html" && chown www-data:www-data /var/www/html && chmod 777 /var/www/html && apk add --no-cache ca-certificates curl tar xz openssl wget && apk add --no-cache --virtual .build-deps $PHPIZE_DEPS argon2-dev coreutils curl-dev libedit-dev libsodium-dev libxml2-dev openssl-dev sqlite-dev libjpeg-turbo-dev libpng-dev gd-dev gettext-dev freetype-dev libxpm-dev COPY php.tar.xz php.tar.xz RUN set -x # 下載過(guò)慢 # && wget -O php.tar.xz "$PHP_URL" && tar -Jxf php.tar.xz && cd php-$PHP_VERSION && ./configure --prefix="/usr/local/php" --with-config-file-path="/usr/local/php/etc" --with-config-file-scan-dir="/usr/local/php/etc/conf.d" --enable-option-checking=fatal --with-mhash --enable-ftp --enable-exif --enable-mbregex --enable-mbstring --enable-mysqlnd --enable-sysvmsg --enable-opcache --enable-pcntl --enable-sockets --enable-sysvsem --enable-xml --with-curl --with-libedit --with-openssl --with-zlib --with-pcre-regex --with-pear --with-libxml-dir=/usr --with-gd=/usr --with-jpeg-dir --with-freetype-dir --with-xpm-dir --with-png-dir --with-gettext --with-mhash --with-iconv --disable-fileinfo --enable-fpm --with-fpm-user=web --with-fpm-group=www-data --disable-cgi && make -j "$(nproc)" && find -type f -name "*.a" -delete && make install # && make clean && cd ../ && rm -rf php-$PHP_VERSION.tar.xz php-$PHP_VERSION #其他插件安裝,可以下載源碼編譯,這里使用 RUN set -x # libevent && wget "https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz" && tar -zxf libevent-2.1.8-stable.tar.gz && cd libevent-2.1.8-stable && ./configure --prefix=/usr && make && make install && cd ../ && wget "http://pecl.php.net/get/event-2.4.3.tgz" && tar -zxf event-2.4.3.tgz && cd event-2.4.3 && /usr/local/php/bin/phpize && ./configure --with-event-libevent-dir=/usr --with-php-config=/usr/local/php/bin/php-config && make && make install && cd ../ && rm -rf libevent-2.1.8-stable.tar.gz libevent-2.1.8-stable event-2.4.3.tgz event-2.4.3 # libuuid && wget "http://nchc.dl.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz" && tar -zxf libuuid-1.0.3.tar.gz && cd libuuid-1.0.3 && ./configure --prefix=/usr && make && make install && cd ../ && wget http://pecl.php.net/get/uuid-1.0.4.tgz && tar zxf uuid-1.0.4.tgz && cd uuid-1.0.4 && /usr/local/php/bin/phpize && ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install && cd ../ && rm -rf libuuid-1.0.3.tar.gz libuuid-1.0.3 uuid-1.0.4.tgz uuid-1.0.4 # && wget "https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz" # && tar -zxf libmemcached-1.0.18.tar.gz && cd libmemcached-1.0.18 && ./configure --prefix=/usr && make && make install && cd ../ # && wget -O "http://pecl.php.net/get/memcached-3.1.3.tgz" # && tar -zxf memcached-3.1.3 && cd memcached-3.1.3 && ./configure --with-event-libevent-dir=/usr --with-php-config=/usr/local/php/bin/php-config && make && make install && cd ../ && runDeps="$( scanelf --needed --nobanner --format "%n#p" --recursive /usr/local | tr "," " " | sort -u | awk "system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }" )" && apk add --no-cache $runDeps && /usr/local/php/bin/pecl update-channels # others of necessary && /usr/local/php/bin/pecl install igbinary swoole event uuid inotify redis # memcached && rm -rf /tmp/pear ~/.pearrc WORKDIR /usr/local/php/bin []:~/tmp#
這里參照官方始終無(wú)法構(gòu)建成功,后面將重新定制。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/27945.html
摘要:掘金日?qǐng)?bào)第四期使用怎么能不知道這些插件合集掘金日?qǐng)?bào)主打分享優(yōu)質(zhì)深度技術(shù)內(nèi)容,技術(shù)內(nèi)容分前端后端產(chǎn)品設(shè)計(jì)工具資源和一些有趣的東西。目前已經(jīng)涵蓋了的相關(guān)資源鏈接,供大家參考與學(xué)習(xí)。 【掘金日?qǐng)?bào)】第四期 使用Sublime?怎么能不知道這些 Sublime 插件合集! 掘金日?qǐng)?bào)主打分享優(yōu)質(zhì)深度技術(shù)內(nèi)容,技術(shù)內(nèi)容分:前端、后端、Android、iOS、產(chǎn)品設(shè)計(jì)、工具資源和一些有趣的東西。 前端...
摘要:掘金日?qǐng)?bào)第四期使用怎么能不知道這些插件合集掘金日?qǐng)?bào)主打分享優(yōu)質(zhì)深度技術(shù)內(nèi)容,技術(shù)內(nèi)容分前端后端產(chǎn)品設(shè)計(jì)工具資源和一些有趣的東西。目前已經(jīng)涵蓋了的相關(guān)資源鏈接,供大家參考與學(xué)習(xí)。 【掘金日?qǐng)?bào)】第四期 使用Sublime?怎么能不知道這些 Sublime 插件合集! 掘金日?qǐng)?bào)主打分享優(yōu)質(zhì)深度技術(shù)內(nèi)容,技術(shù)內(nèi)容分:前端、后端、Android、iOS、產(chǎn)品設(shè)計(jì)、工具資源和一些有趣的東西。 前端...
摘要:上需要主從服務(wù)器端配合完成初始化同步用戶主服務(wù)器端手動(dòng)同步初始數(shù)據(jù)添加測(cè)試數(shù)據(jù),適合從一臺(tái)拓展至多臺(tái)服務(wù)器的情況。 目前已完成:php7及擴(kuò)展、redis5的Dockerfile測(cè)試版編寫,稍許完善后同步上傳到github,(記下這里memcached還沒有剝離安裝)。今天數(shù)據(jù)庫(kù),編程的一個(gè)重要原則是不要重復(fù)造輪子,php因?yàn)樾枰芏嘧远x插件、所以單獨(dú)編譯鏡像,其實(shí)其他包括redis...
摘要:總結(jié)我覺得,以后基于的全棧式開發(fā)的模式將會(huì)越來(lái)越流行,這也會(huì)引領(lǐng)前端步入工程化時(shí)代。歡迎繼續(xù)關(guān)注本博的更新中間層實(shí)踐一基于的全棧式開發(fā)中間層實(shí)踐二搭建項(xiàng)目框架中間層實(shí)踐三配置中間層實(shí)踐四模板引擎中間層實(shí)踐五中間層的邏輯處理 版權(quán)聲明:更多文章請(qǐng)?jiān)L問(wèn)我的個(gè)人站Keyon Y,轉(zhuǎn)載請(qǐng)注明出處。 前言 近期公司有個(gè)新項(xiàng)目,由于后端人手不足,我果斷的提議用node中間層的方案,得到了老大的支持...
摘要:希望幫助更多的前端愛好者學(xué)習(xí)。前端開發(fā)者指南作者科迪林黎,由前端大師傾情贊助。翻譯最佳實(shí)踐譯者張捷滬江前端開發(fā)工程師當(dāng)你問(wèn)起有關(guān)與時(shí),老司機(jī)們首先就會(huì)告訴你其實(shí)是個(gè)沒有網(wǎng)絡(luò)請(qǐng)求功能的庫(kù)。 前端基礎(chǔ)面試題(JS部分) 前端基礎(chǔ)面試題(JS部分) 學(xué)習(xí) React.js 比你想象的要簡(jiǎn)單 原文地址:Learning React.js is easier than you think 原文作...
閱讀 894·2021-11-15 11:38
閱讀 2531·2021-09-08 09:45
閱讀 2830·2021-09-04 16:48
閱讀 2576·2019-08-30 15:54
閱讀 943·2019-08-30 13:57
閱讀 1629·2019-08-29 15:39
閱讀 507·2019-08-29 12:46
閱讀 3533·2019-08-26 13:39