国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

docker 部署 nginx+php+mysql 環(huán)境

這篇具有很好參考價值的文章主要介紹了docker 部署 nginx+php+mysql 環(huán)境。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

記錄一下docker部署web服務器流程。nginx,mysql,php不同的版本配置內(nèi)容可能會不同。


docker常用命令

一、創(chuàng)建掛載目錄

  • 目錄結(jié)構(gòu)

└── data
    ├── docker
    │   ├── mysql  
    |       ├── conf
    |       ├── data
    |       └── logs
    │	├── php
    |       ├── conf.d
    |       └── php.ini(文件)
    │   ├── nginx
    |       ├── conf.d
    |       └── cert
    |       ├── log
    |       └── nginx.conf(文件)
    ├── www
    │   ├── project
    |       ├── index.php(文件)
    │   ├── project02

  • 創(chuàng)建目錄
#掛載 nginx 目錄
mkdir -p /data/docker/nginx/conf.d 		      #nginx子配置文件目錄 
mkdir -p /data/docker/nginx/log 		      #nginx日志文件目錄
mkdir -p /data/docker/nginx/cert          	  #nginxSSL文件目錄
mkdir -p /data/www/ 					      #工作目錄

#掛載 php 目錄
mkdir -p /data/docker/php/conf.d   #php-fpm配置文件目錄

#掛載 mysql 目錄
mkdir -p /data/docker/mysql/conf   #mysql配置文件目錄
mkdir -p /data/docker/mysql/logs   #mysql日志文件目錄
mkdir -p /data/docker/mysql/data   #mysql數(shù)據(jù)文檔存儲目錄

二、拉取鏡像

#獲取 ngin x鏡像(未指定版本則安裝latest)
docker pull nginx

#獲取 mysql 鏡像
docker pull mysql:5.7

#獲取 php-fpm 鏡像
docker pull php:7.3-fpm

#查看鏡像
docker images

三.運行容器

  • 運行PHP容器
#首先我們先簡單的將容器啟動,將容器內(nèi)的php.ini和擴展文件復制到宿主機中
#容器啟動會返回容器id,我們先假設容器id為:575be6407893 后面理解方便 ,后續(xù)使用中可以直接取容器前幾位字符使用
docker run -d --name php -p 9000:9000  php:7.3-fpm

# 查看正在運行的容器
docker ps 575b 

#查看全部容器
docker ps -a

#進入容器內(nèi)
docker exec -it 575b bash

#進入php.ini配置目錄
cd /usr/local/etc/php

php容器內(nèi)容目錄結(jié)構(gòu)如下:
docker php mysql nginx,docker,docker,nginx,php,mysql

PHP5.4升級后,php.ini-dist不見了,出現(xiàn)了php.ini-developmen和php.ini-production。
php.ini-development 對應于 php.ini-dist,適合開發(fā)測試,如本地測試環(huán)境。
php.ini-production 對應于 php.ini-recommended 擁有較高的安全性設定,適合服務器上線運營當產(chǎn)品。
選擇用哪個,就把他備份一份,改名為php.ini。

#將容器內(nèi)conf.d和php.ini-production復制到宿主機內(nèi)
docker cp 575b:/usr/local/etc/php/conf.d /data/docker/php/
docker cp 575b:/usr/local/etc/php/php.ini-production /data/docker/php/php.ini

#配置文件已有,接下來我們將該容器刪除重新啟動新容器
docker rm -f 575b (刪除正在運行的容器)

#容器啟動
docker run --name php7.3 -p 9000:9000 \
	-v /data/www:/var/www \
	-v /data/docker/php/php.ini:/usr/local/etc/php/php.ini \
	-v /data/docker/php/conf.d:/usr/local/etc/php/conf.d -d php:7.3-fpm
	
# 參數(shù)說明
# --name php7.3:容器名稱。
# -p 9000:9000: 端口進行映射,將本地 9000端口映射到容器內(nèi)部的 9000端口。
# -v 目錄映射: 主機和容器的目錄映射關系,":"前為主機目錄,之后為容器目錄 :ro 表示只讀
# -d php:7.3-fpm: 設置容器在在后臺一直運行,這個php:7.3-fpm是指定鏡像	
  • 運行Nginx容器
 #復制nginx配置項  返回容器id:095a12add634
docker run -d -p 80:80 -p 443:443 --name nginx nginx 

#進入容器內(nèi)
docker exec -it 095a12add634bash

#進入nginx.conf配置目錄
 cd /etc/nginx/

nginx容器內(nèi)容目錄結(jié)構(gòu)如下:

docker php mysql nginx,docker,docker,nginx,php,mysql文章來源地址http://www.zghlxwxcb.cn/news/detail-856789.html

#將容器內(nèi)conf.d和nginx.conf復制到宿主機內(nèi)
docker cp 095a12add634:/etc/nginx/nginx.conf /data/docker/nginx/
docker cp 095a12add634:/etc/nginx/conf.d /data/docker/nginx/

#配置文件已有,接下來我們將該容器刪除重新啟動新容器
docker rm -f 095a12add634(刪除正在運行的容器)

#容器啟動
docker run -d -p 80:80 -p 443:443 \
-v /data/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /data/docker/nginx/conf.d:/etc/nginx/conf.d \
-v /data/docker/nginx/log:/var/log/nginx \
-v /data/docker/nginx/cert:/etc/nginx/cert \
-v /data/www:/var/www \
--link=php:php --name nginx nginx 
	
# 參數(shù)說明
# --link=php:php 設置 nginx容器和php容器網(wǎng)絡互通,也可以使用網(wǎng)絡通訊創(chuàng)建網(wǎng)橋方式
# 映射文件目錄時盡量要使nginx和php映射目錄保持一致,我這里都映射了/var/www,不一致可能會報錯
  • 運行Mysql容器
#運行命令生成my.cnf文件
tee /data/docker/mysql/conf/my.cnf <<-'EOF'

[mysql]
#設置mysql客戶端默認字符集
default-character-set=UTF8MB4
 
[mysqld]
#設置3306端口
port=3306
 
#允許最大連接數(shù)
max_connections=200
 
#允許連接失敗的次數(shù)
max_connect_errors=10
 
#默認使用“mysql_native_password”插件認證
default_authentication_plugin=mysql_native_password
 
#服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=UTF8MB4
 
#開啟查詢緩存
explicit_defaults_for_timestamp=true
 
#創(chuàng)建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
 
#等待超時時間秒
wait_timeout=60
 
#交互式連接超時時間秒
interactive-timeout=600
secure_file_priv=/var/lib/mysql
 
[client]
default-character-set=UTF8MB4
EOF

#運行容器 
docker run  --privileged -d -p 3306:3306 \
-v /data/docker/mysql/conf:/etc/mysql \
-v /data/docker/mysql/logs:/var/log/mysql \
-v /data/docker/mysql/data:/var/lib/mysql  \
-e MYSQL_ROOT_PASSWORD=root --name mysql3306 mysql:5.7

#參數(shù)說明
#--privileged 讓容器中的進程獲取到主機的完整權(quán)限,包括root權(quán)限
#-e MYSQL_ROOT_PASSWORD=root 配置mysqlroot密碼

四.運行項目

#nginx.conf 文件配置內(nèi)容

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

#切換目錄 cd /data/docker/nginx/conf.d 新建項目配置

server {
    listen 80;
    #listen [::]:80;

    #For https
    #listen 443 ssl;
    #listen [::]:443 ssl ipv6only=on;
    #ssl_certificate /etc/nginx/ssl/www.crt;
    #ssl_certificate_key /etc/nginx/ssl/www.key;

    server_name abc.com; #訪問域名
    index index.php index.html index.htm default.html default.htm default.php;
    root  /var/www/project; #訪問項目目錄

    location ~ \.php$ {
        fastcgi_pass   php:9000; # 這里的php指鏈接到php的容器名稱,即 --link=php:php 
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
	#錯誤日志
    access_log  /var/log/nginx/project.access.log; 
    error_log  /var/log/nginx/project.error.log;

}

#切換到項目目錄隨便輸出點內(nèi)容(內(nèi)容自己創(chuàng)建)
cd /data/docker/www/project

#重啟nginx容器
docker restart 容器id


到了這里,關于docker 部署 nginx+php+mysql 環(huán)境的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Docker的配置和部署,并搭建php和nginx環(huán)境

    Docker的配置和部署,并搭建php和nginx環(huán)境

    服務器環(huán)境:CentOS 7.6 說下體驗: 通過安裝進度還是有些報錯出現(xiàn)的,但是一向“兼容不錯的寶塔”還是對他抱有一線希望。 最后還是安裝成功了。 ?裝好了,如何使用? Docker 是基于命令行使用的,那現(xiàn)在通過一些實際問題去使用一些命令! 1.首先查看是否安裝成功。通過

    2024年02月09日
    瀏覽(21)
  • 傻瓜式教學Docker 使用docker compose部署 php nginx mysql

    傻瓜式教學Docker 使用docker compose部署 php nginx mysql

    首先你可以準備這個三個服務,也可以在docker compose 文件中 直接拉去指定鏡像,這里演示的是鏡像服務已經(jīng)在本地安裝好了,提供如下: PHP 日常用的擴展都有了應該, 這兩個你也可以移到上面的RUN一同安裝 Nginx Mysql 直接從官方鏡像資源中拉去 這樣你將產(chǎn)生三個鏡像 下面開始利用

    2024年02月01日
    瀏覽(23)
  • 用MacBook實操:docker本地部署mysql+php+nginx壞境

    用MacBook實操:docker本地部署mysql+php+nginx壞境

    大家好,我拿出我的macbook,帶著大家實操用docker部署mysql+php+nginx環(huán)境。 之前的小白實操搭建Nginx1.2.0+PHP7.0+MySQL5.7+Thinkphp5項目,看這篇就夠了,歡迎閱讀。 之前的是服務器上配置環(huán)境,現(xiàn)在在mac本地搭建全棧開發(fā)環(huán)境。 目錄 1.docker 1.1docker下載: 1.2配置docker下載鏡像 1.3 在本地

    2024年02月09日
    瀏覽(16)
  • Unbutu系統(tǒng)-Docker安裝、JDK環(huán)境配置,Docker常用指令、Docker安裝MySQL、Redis、Tomcat、Nginx,前端后分離項目部署

    Unbutu系統(tǒng)-Docker安裝、JDK環(huán)境配置,Docker常用指令、Docker安裝MySQL、Redis、Tomcat、Nginx,前端后分離項目部署

    目錄 1、防火墻 1.1、查看防火墻狀態(tài) 1.2、開啟防火墻 1.3、關閉防火墻 1.4、重啟防火墻 1.5、查看防火墻版本 2、安裝JDK 2.1、官網(wǎng)下載tar包 2.3、解壓tar.gz文件 2.4、配置環(huán)境變量 2.4.1、查看安裝路徑 2.4.2、設置環(huán)境變量 2.4.3、執(zhí)行該讓環(huán)境變量生效 2.4.4、查看JDK版本 3、Docker

    2024年02月04日
    瀏覽(24)
  • docker搭建nginx+php環(huán)境

    docker搭建nginx+php環(huán)境

    一、docker拉取nginx和php鏡像 命令如下: 1、創(chuàng)建本地掛載路徑: 2、創(chuàng)建php容器 3、創(chuàng)建nginx本地掛在路徑: 4、nginx配置文件如下: 5、創(chuàng)建nginx容器: PS: 6、創(chuàng)建文件測試: 效果如下: 參考文章:nginx調(diào)用php原理

    2024年02月13日
    瀏覽(19)
  • 使用Docker容器部署java運行環(huán)境(java8 + mysql5.7 + redis5.0 + nginx1.14.1

    使用Docker容器部署java運行環(huán)境(java8 + mysql5.7 + redis5.0 + nginx1.14.1

    環(huán)境:阿里云ECS服務器 1.1 安裝工具 1.2 為yum源添加docker倉庫位置 1.3 將軟件包信息提前在本地索引緩存 (非必要,建議執(zhí)行,可以提升yum安裝的速度,報錯去掉fast試試) 1.4 安裝Docker 傻瓜式安裝 點擊y 1.5 啟動Docker 1.6 設置開機自啟動 1.7 安裝完成后可以測試一下,是否安裝成功

    2024年02月02日
    瀏覽(32)
  • 使用docker-compose.yml快速搭建開發(fā)、部署環(huán)境(nginx、tomcat、mysql、jar包、各種程序)以及多容器通信和統(tǒng)一配置

    image 鏡像名稱,可去鏡像市場查找自己需要的 hostname 容器內(nèi)服務名 container_name 容器名 volumes 可以把自己電腦的路徑映射到容器中的文件夾中 networks 寫同一個網(wǎng)絡可以讓容器之間進行通信 啟動 在項目根目錄的命令行中輸入 docker-compose up 停止 在項目根目錄的命令行中輸入 d

    2024年02月12日
    瀏覽(26)
  • macOS搭建PHP開發(fā)環(huán)境(brew安裝nginx、mysql 和多版本php,并配置多個php同時運行的環(huán)境)

    由于homebrew主庫中沒有PHP7.2 之前的版本,并且7.2,7.3版本也被標記成過時版本;所以需要先掛在第三方的擴展,具體操作如下: php5.6 php7.3 php7.4 php8.2 默認新版8以上直接安裝 sudo vim /usr/local/etc/php/5.6/php-fpm.conf? 下的: 注意:5.6版本的配置文件路徑和其他版本不一樣 listen = 127

    2024年02月04日
    瀏覽(50)
  • docker搭建lnmp(nginx+mysql57+php7.4)

    2.1安裝docker-compose 2.2創(chuàng)建項目目錄 2.3在項目目錄下面創(chuàng)建docker-compose.yml 2.4在該目錄下面創(chuàng)建nginx目錄,然后創(chuàng)建 default.conf 配置文件 2.5在該目錄下面創(chuàng)建web目錄,然后創(chuàng)建 index.php 文件 2.6啟動docker-compose 2.7訪問 2.8停止docker-compose 2.9刪除docker-compose 3.0查看docker-compose日志 3.1查

    2024年02月13日
    瀏覽(19)
  • Nginx環(huán)境搭建以及Docker環(huán)境部署

    Nginx環(huán)境搭建以及Docker環(huán)境部署

    目錄 Nginx環(huán)境搭建 1.首先創(chuàng)建Nginx的目錄并進入 2.下載Nginx的安裝包 ????????可以通過FTP工具上傳離線環(huán)境包,也可通過wget命令在線獲取安裝包 ????????沒有wget命令的可通過yum命令安裝 ?3.解壓Nginx的壓縮包 4.下載并安裝Nginx所需的依賴庫和包 ? ? ? ? 安裝方式一 ? ?

    2024年02月13日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包