最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用docker部署php服務(wù)的詳細(xì)步驟

 更新時(shí)間:2024年03月24日 10:37:17   作者:ayzen1988  
Docker鏡像是一個(gè)可移植的、自包含的單元,其中包含了運(yùn)行應(yīng)用程序所需的所有文件、配置和依賴項(xiàng),當(dāng)使用Docker部署PHP應(yīng)用程序時(shí),可以將PHP應(yīng)用程序和其依賴項(xiàng)打包到一個(gè)稱為Docker鏡像的獨(dú)立容器中,北本文介紹了使用docker部署php服務(wù)的詳細(xì)步驟,需要的朋友可以參考下

前言

前期準(zhǔn)備,服務(wù)器需要先安裝好docker、docker-compose,文章內(nèi)容不涉及如何安裝docker的相關(guān)內(nèi)容。

制作的內(nèi)容,使用nginx+php的新基礎(chǔ)鏡像部署php服務(wù),然后使用openresty做反向代理。

nginx+php的新基礎(chǔ)鏡像制作過程,可以參考之前的文章,地址如下:nginx+php的新基礎(chǔ)鏡像制作全過程_nginx_腳本之家 (jb51.net)

一、安裝openresty

1、創(chuàng)建openresty相關(guān)目錄,執(zhí)行如下命令。

mkdir -p /docker/openresty/{conf.d,logs,html,cert}
cd /docker/openresty/

2、編寫yaml文件,內(nèi)容如下;version替換成自己的docker-compose版本。

vim docker-compose.yml
version: '2.2.2'
services:
    openresty:
        image: openresty/openresty
        restart: unless-stopped
        ports:
            - "80:80"
            - "443:443"
        container_name: openresty
        volumes:
            - "./nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf"
            - "./conf.d:/usr/local/openresty/nginx/conf/conf.d"
            - "./html:/usr/local/openresty/nginx/html"
            - "./logs:/usr/local/openresty/nginx/logs"
            - "./cert:/usr/local/openresty/nginx/cert"
        networks:
            - mynet
networks:
    mynet:
        name: mynet
        driver: bridge

3、編寫nginx配置,內(nèi)容如下。

vim nginx.conf
worker_processes  1;
error_log logs/error.log;
events {
    worker_connections 1024;
}
http {
    server {
        listen 80;
        location / {
            default_type text/html;
            content_by_lua_block {
                ngx.say("<p>hello, ayzen!$</p>")
            }
        }
    }
}

4、啟動(dòng)openresty,執(zhí)行如下命令。

docker-compose up -d

5、檢查服務(wù)是否正常運(yùn)行,執(zhí)行如下命令。

docker-compose ps -a

返回如下內(nèi)容,說明服務(wù)已正常啟動(dòng),正在運(yùn)行。

6、檢查請(qǐng)求是否正常,執(zhí)行如下命令。

curl http://127.0.0.1

請(qǐng)求正常,會(huì)返回nginx配置的內(nèi)容,比如下面這樣。

7、至此openresty已部署完成,并且可以正常運(yùn)行響應(yīng)請(qǐng)求。

二、部署php服務(wù)

1、創(chuàng)建test1項(xiàng)目相關(guān)目錄,執(zhí)行如下命令。

mkdir -p /docker/test1/html
cd /docker/test1/

2、編寫index.php文件,內(nèi)容如下。

vim html/index.php
<?php
echo "hello ayzen!this is test1!\r\n";

3、編寫yaml文件,內(nèi)容如下;version替換成自己的docker-compose版本。

vim docker-compose.yml
version: '2.2.2'
services:
    web:
        image: ayzen/nginx-php8.3.3
        ports:
            - "8081:80"
        container_name: test1
        command: ["/start.sh"]
        volumes:
            - "./html:/usr/local/nginx/html"
        networks:
            - mynet
networks:
    mynet:
        name: mynet
        driver: bridge

4、啟動(dòng)test1項(xiàng)目,執(zhí)行如下命令。

docker-compose up -d

5、檢查項(xiàng)目是否正常運(yùn)行,執(zhí)行如下命令。

docker-compose ps -a

返回如下內(nèi)容,說明項(xiàng)目已正常啟動(dòng),正在運(yùn)行。

6、檢查項(xiàng)目請(qǐng)求是否可以正常響應(yīng),執(zhí)行如下命令。

curl http://127.0.0.1:8081/index.php

請(qǐng)求正常會(huì)返回如下內(nèi)容。

7、至此test1項(xiàng)目已正常部署完成。

三、項(xiàng)目配置對(duì)外提供服務(wù)

1、前面的test1項(xiàng)目雖然可以正常提供服務(wù)了,但是也只限制與內(nèi)網(wǎng)當(dāng)中;如果需要對(duì)外提供服務(wù)需要加上openresty配合。

2、修改nginx配置增加域名請(qǐng)求,在http模塊增加server內(nèi)容如下。

    server {
        listen 80;
        server_name test1.ayzen.cn;
 
        location / {
            proxy_pass http://test1;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

3、重啟openresty,執(zhí)行如下命令。

docker-compose down && docker-compose up -d

4、域名解析,將test1.ayzen.cn指向服務(wù)器IP;此刻沒有域名的可以通過修改hosts實(shí)現(xiàn),執(zhí)行如下命令。

vim /etc/hosts
#增加一行內(nèi)容如下
127.0.0.1   test1.ayzen.cn

5、驗(yàn)證請(qǐng)求是否可以正常代理到test1容器,執(zhí)行如下命令。

curl http://test1.ayzen.cn/index.php

 如果請(qǐng)求正常返回如下內(nèi)容,說明配置已生效。

6、至此,代理配置已完成,test1可以正常對(duì)外提供服務(wù)了。

總結(jié)

如何使用docker部署php服務(wù),簡(jiǎn)單來說只需要三個(gè)步驟。

1、使用docker運(yùn)行openresty容器;

2、部署php服務(wù);

3、配置域名;

因?yàn)檠菔镜脑颍琾hp項(xiàng)目只有一個(gè)index.php文件。在使用過程中可以替換成真正的項(xiàng)目代碼。

到此這篇關(guān)于使用docker部署php服務(wù)的詳細(xì)步驟的文章就介紹到這了,更多相關(guān)docker部署php服務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker將鏡像打包為.tar包實(shí)現(xiàn)方法

    docker將鏡像打包為.tar包實(shí)現(xiàn)方法

    使用tar包格式進(jìn)行壓縮,方便在不同的docker主機(jī)之間進(jìn)行遷移和備份,下面這篇文章主要給大家介紹了關(guān)于docker將鏡像打包為.tar包的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2024-07-07
  • Docker實(shí)現(xiàn)進(jìn)入容器內(nèi)部的方法

    Docker實(shí)現(xiàn)進(jìn)入容器內(nèi)部的方法

    這篇文章主要介紹了Docker實(shí)現(xiàn)進(jìn)入容器內(nèi)部的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • docker 添加端口及獲取dockerfile的方法

    docker 添加端口及獲取dockerfile的方法

    這篇文章主要介紹了docker 添加端口及獲取dockerfile的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Dockerfile中ENTRYPOINT 和 CMD的區(qū)別說明

    Dockerfile中ENTRYPOINT 和 CMD的區(qū)別說明

    這篇文章主要介紹了Dockerfile中ENTRYPOINT 和 CMD的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 在Docker中的ubuntu中安裝Python3和Pip的問題

    在Docker中的ubuntu中安裝Python3和Pip的問題

    這篇文章主要介紹了在Docker中的ubuntu中安裝Python3和Pip的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • docker?搭建部署?YAPI?框架的詳細(xì)過程

    docker?搭建部署?YAPI?框架的詳細(xì)過程

    Yapi是一個(gè)高效、易用、功能強(qiáng)大的接口文檔管理工具,旨在為開發(fā)、產(chǎn)品、測(cè)試人員提供更優(yōu)雅的接口管理服務(wù),可以幫助開發(fā)者輕松創(chuàng)建、發(fā)布、維護(hù)?AP,這篇文章主要介紹了docker?搭建部署?YAPI?框架,需要的朋友可以參考下
    2022-08-08
  • 如何解決安裝docker的yum工具時(shí)報(bào)錯(cuò)問題

    如何解決安裝docker的yum工具時(shí)報(bào)錯(cuò)問題

    在安裝Docker時(shí)遇到y(tǒng)um工具錯(cuò)誤可通過更新yum源解決,先卸載舊Docker,備份原yum源,下載新的CentOS-Base.repo文件到指定目錄,安裝yum工具后,配置Docker的yum源,國內(nèi)用戶建議使用aliyun源以避免訪問異常,安裝并啟動(dòng)Docker,校驗(yàn)是否成功
    2024-09-09
  • Docker從0到1實(shí)現(xiàn)項(xiàng)目編排部署

    Docker從0到1實(shí)現(xiàn)項(xiàng)目編排部署

    Docker編排是管理和協(xié)調(diào)多個(gè)Docker容器的工具和技術(shù),目的是簡(jiǎn)化容器的部署、擴(kuò)展和管理流程,本文主要介紹了Docker從0到1實(shí)現(xiàn)項(xiàng)目編排部署,感興趣的可以了解一下
    2025-03-03
  • 解決Docker Desktop運(yùn)行一直轉(zhuǎn)問題

    解決Docker Desktop運(yùn)行一直轉(zhuǎn)問題

    遇到Docker啟動(dòng)報(bào)錯(cuò)、Docker Desktop運(yùn)行不正常等問題,常見解決方案包括以管理員身份運(yùn)行CMD,重啟Docker服務(wù),恢復(fù)Docker Desktop出廠設(shè)置,啟用Windows功能等,最終通過運(yùn)行cmd命令"netsh winsock reset"解決問題,但需注意此操作可能導(dǎo)致Docker鏡像丟失
    2024-09-09
  • Docker部署Node.js的實(shí)現(xiàn)示例

    Docker部署Node.js的實(shí)現(xiàn)示例

    本文介紹了在服務(wù)器上使用Docker部署Node.js項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12

最新評(píng)論

昌宁县| 广汉市| 红安县| 大悟县| 澄城县| 称多县| 广汉市| 繁峙县| 泰顺县| 富蕴县| 莱西市| 礼泉县| 开鲁县| 遂川县| 香格里拉县| 邵阳市| 鲁山县| 中宁县| 陈巴尔虎旗| 综艺| 金平| 昆明市| 伊金霍洛旗| 台前县| 浙江省| 乌拉特前旗| 马公市| 屏东县| 舒城县| 榆树市| 日照市| 博客| 仙游县| 淮北市| 铜陵市| 克什克腾旗| 巴林右旗| 齐齐哈尔市| 凤翔县| 十堰市| 无锡市|