<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • php網站設計與開發(php簡單圖書管理系統推薦)


    本想在這篇文中說一下阿里云主機的采購和選型,又怕大家誤會我是廣告貼,所以關于阿里云的選購以后我將單獨發到我的博客當中。

    閑話少說,進入正題。小型企業站快速上云其實是一件很容易的事情,但是每次配置服務器卻并不是一件容易的事,每次大家都要找一些需要安裝的插件和組件,有的因為版本問題,有的因為翻墻問題最后的安裝過程相當麻煩。Docker就成為了我們快速部署的工具。使用Docker進行小型PHP網站LNMP的快速搭建教程

    docker

    本文中我將以php7+nginx+mysql+為例在centos6.8以上系統中進行docker環境的搭建,也就是常說的LNMP環境,接下來為大家簡單進行網站配置的教程.

    開始前我們明確一下所要安裝服務的插件及開放的端口

    Php7-fpm進程默認開放9000端口,Nginx默認開放80端口,也可以根據需要進行調整,Mysql開放3306端口。

    本文中我們采用官方鏡像進行docker源的加速。

    拉取鏡像

    PHP

    docker pull php:7.2.3
    

    MySQL

    docker pull mysql:5.7.21
    

    Nginx(Tengine/openresty)

    docker pull nginx:1.13.10
    

    啟動容器

    啟動容器時,需要注意各容器之間的關聯關系。

    在LNMP架構中,WEB服務器(Nginx)需要將PHP請求轉發給php-fpm進行處理,而PHP要進行數據的存取,少不了和數據庫(MySQL)進行交互,所以他們之間存在關聯,那么啟動時需要指定這些關聯,這個關聯使用networks參數來指定。

    建立網絡

    docker network create my_net
    
    docker run -it -d -p 3306:3306 --network my_net -e MYSQL_ROOT_PASSWORD=123456 -v /mnt/mysql:/var/lib/mysql --name mysql mysql:5.7.21 
    
    docker run -d -p 9000:9000 --name php -v --network my_net /mnt/html:/usr/local/openresty/nginx/html php:7.2.3 #PHP
    
    docker run -d -p 80:80 --name nginx -v /mnt/html:/usr/local/openresty/nginx/html --network my_net nginx:1.13.10 #Nginx
    

    啟動時我們多使用了一個-v參數,這個參數的意思是掛載,作用是將宿主機的一個目錄掛載到容器中指定的目錄,這樣,即使我們銷毀了這個容器,那容器中的數據依然保留在宿主機上,不會丟失。比如數據庫存放數據的data目錄,WEB服務器存放代碼的www目錄,每個服務存放配置文件的目錄等。

    web_server:
     image: nginx
     ports:
     - "80:80"
     - "443:443"
     volumes:
     - /mnt/html:/usr/local/openresty/nginx/html
     networks:
     - "my_net"
    db_server:
     image: docker.io/mysql:5.7.21
     environment:
     MYSQL_ROOT_PASSWORD: 123456
     ports:
     - "3306:3306"
     volumes:
     - /mnt/mysql:/var/lib/mysql
     networks:
     - "my_net"
    php:
     image: docker.io/php:7.2.3
     container_name: php
     links:
     - db_server:mysql
     ports:
     - "9000:9000"
     volumes:
     - /mnt/html:/usr/local/openresty/nginx/html
     - /mnt/php:/usr/local/etc/php
     networks:
     - "my_net"
     networks:
     my_net:
     driver: bridge
     
    

    保存為docker-compose.yml,并在該文件處執行啟動命令docker-compose up -d

    Starting mysql ... done
    Starting php ... done
    Starting nginx ... done
    

    可以驗證一下是否正常啟動:

    docker ps -a 或 docker-compose ps
    

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费