nginx+php的新基礎(chǔ)鏡像制作全過程
前言
服務(wù)器需要提前安裝好docker;構(gòu)建的新鏡像用于快速部署新項(xiàng)目;
一、運(yùn)行alpine容器
通過如下命令查找鏡像
docker search alpine
如下圖所示,就是命令返回的結(jié)果,OFFICIAL有[OK]的標(biāo)識(shí)的是docker官方制作的鏡像

我們通過如下命令拉取鏡像
docker pull alpine
接著我們通過如下命令啟動(dòng)一個(gè)alpine容器
docker run -it alpine /bin/sh
二、安裝nginx
1、安裝pcre執(zhí)行如下命令,分別為下載源碼、解壓、進(jìn)入相應(yīng)目錄、安裝
cd /root wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz tar -xvf pcre-8.45.tar.gz cd pcre-8.45 ./configure make && make install
2、安裝nginx執(zhí)行如下命令,分別為下載源碼、解壓、進(jìn)入相應(yīng)目錄、安裝
cd /root wget https://nginx.org/download/nginx-1.24.0.tar.gz tar -xvf nginx-1.24.0.tar.gz cd nginx-1.24.0 ./configure --prefix=/usr/local/nginx --with-pcre=/root/pcre-8.45 make && make install
3、安裝成功之后驗(yàn)證下nginx是否可以正常執(zhí)行,執(zhí)行如下命令
/usr/local/nginx/sbin/nginx -t
一切正常會(huì)返回如下內(nèi)容

至此nginx就已經(jīng)安裝完成了,剩下只是配置問題;接下來就是如何安裝php?
三、安裝php
1、因?yàn)閍lpine鏡像使用的是apk包管理,我們需要更換國(guó)內(nèi)源地址,執(zhí)行如下命令更好為阿里云地址
vi /etc/apk/repositories https://mirrors.aliyun.com/alpine/v3.15/main https://mirrors.aliyun.com/alpine/v3.15/community
2、安裝相關(guān)依賴,執(zhí)行如下命令
sudo apk update sudo apk add --no-cache gcc g++ make cmake pkgconf sqlite-dev libxml2-dev openssl openssl-dev libcurl curl-dev oniguruma-dev
3、安裝php執(zhí)行如下命令,分別為下載源碼、解壓、進(jìn)入相應(yīng)目錄、安裝
cd /root wget https://www.php.net/distributions/php-8.3.3.tar.gz tar -xvf php-8.3.3.tar.gz cd php-8.3.3 || exit ./configure --prefix=/usr/local/php \ --with-openssl \ --with-curl \ --with-zlib \ --with-mysqli \ --with-pdo-mysql \ --enable-cli \ --enable-fpm \ --enable-xml \ --enable-mbstring make && make install
4、安裝成功之后驗(yàn)證下php是否可以正常執(zhí)行,執(zhí)行如下命令
/usr/local/php/bin/php -v
一切正常會(huì)返回如下內(nèi)容

5、驗(yàn)證php-fpm是否可以正常執(zhí)行,執(zhí)行如下命令
/usr/local/php/sbin/php-fpm -t
一切正常會(huì)返回如下內(nèi)容

至此php就已安裝完成,剩下的就是相關(guān)的配置了。
四、刪除相關(guān)依賴
為什么要?jiǎng)h除相關(guān)依賴?主要是減輕后續(xù)生成鏡像時(shí)候的大小。
執(zhí)行如下命令刪除
sudo apk del gcc g++ make cmake pkgconf libxml2-dev openssl openssl-dev libcurl curl-dev
五、默認(rèn)腳本
添加默認(rèn)腳本,用于啟動(dòng)php-fpm、nginx;
執(zhí)行如下命令
vi /start.sh #!/bin/sh /usr/local/php/sbin/php-fpm /usr/local/nginx/sbin/nginx -g "daemon off;"
六、構(gòu)建新基礎(chǔ)鏡像
在宿主機(jī)執(zhí)行如下命令,根據(jù)之前的容器構(gòu)建成鏡像
docker commit -m"nginx-php8.3.3" 26dfff78bfa1 ayzen/nginx-php8.3.3
-m:提交的描述信息
26dfff78bfa1:第一步運(yùn)行時(shí)的容器id
ayzen/nginx-php8.3.3:要?jiǎng)?chuàng)建的目標(biāo)鏡像名,未帶版本號(hào)默認(rèn)為latest
七、驗(yàn)證新鏡像
在宿主機(jī)執(zhí)行如下命令,使用新鏡像運(yùn)行一個(gè)容器
docker run -itd -p 8083:80 --name test ayzen/nginx-php8.3.3 /start.sh
驗(yàn)證服務(wù)是否有啟動(dòng),執(zhí)行如下命令
curl http://127.0.0.1:8083
一切正常會(huì)返回如下nginx內(nèi)容

總結(jié)
以上就是nginx+php的新基礎(chǔ)鏡像制作全過程的詳細(xì)內(nèi)容,更多關(guān)于nginx php鏡像制作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼
這篇文章主要介紹了Nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
nginx配置緩存關(guān)閉的實(shí)現(xiàn)
本文將介紹nginx緩存關(guān)閉,以及配置的具體步驟和示例,通過調(diào)整Nginx的配置文件,可以確保瀏覽器不會(huì)緩存網(wǎng)站的內(nèi)容,從而提高網(wǎng)站的安全性和性能2023-10-10
Nginx配置location匹配順序詳細(xì)總結(jié)
這篇文章主要介紹了Nginx配置location匹配順序詳解,Nginx是十分輕量級(jí)的HTTP服務(wù)器,Nginx憑借其穩(wěn)定性、低資源消耗、簡(jiǎn)單配置和豐富的功能,從十多年前名不見經(jīng)傳的Web服務(wù)器軟件,發(fā)展到如今能夠跟Apache匹敵的地位,需要的朋友可以參考下2023-08-08
nginx編譯安裝出現(xiàn)的常見錯(cuò)誤及解決方法
這篇文章給大家介紹了nginx在編譯安裝過程中容易出現(xiàn)的常見錯(cuò)誤以及解決方法,文中有詳細(xì)的代碼講解,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-08-08
nginx 不同的訪問路徑對(duì)應(yīng)項(xiàng)目不同的目錄的實(shí)現(xiàn)方法
要在 Nginx 中配置不同的訪問路徑對(duì)應(yīng)不同的項(xiàng)目目錄,可以使用 Nginx 的?location?指令來實(shí)現(xiàn),本文主要介紹了nginx不同的訪問路徑對(duì)應(yīng)項(xiàng)目不同的目錄的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
nginx 部署啟動(dòng)jar包用到的一些命令和流程操作
這篇文章主要介紹了nginx 部署啟動(dòng)jar包用到的一些命令和流程操作,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-11-11
關(guān)于Nginx配置ssl證書實(shí)現(xiàn)https安全訪問
這篇文章主要介紹了關(guān)于Nginx配置ssl證書實(shí)現(xiàn)https安全訪問,前題條件是擁有服務(wù)器與可以解析到該服務(wù)器的自己的域名,需要的朋友可以參考下2023-04-04
Nginx報(bào)錯(cuò)host not found in upstream的解決辦法
本文主要介紹了Nginx報(bào)錯(cuò)host not found in upstream的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08

