<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                >[info] 稍微了解一下即可,實際上不會這樣操作,都是通過docker-compose來進行編排的。 [toc] ## 安裝Lnmp(多PHP版本) ### 下載對應的鏡像版本 https://hub.docker.com/ 搜索鏡像 ![](https://i.loli.net/2019/05/20/5ce24797b74c673266.png) docker pull mysql:8.0 docker pull mysql:5.7 docker pull php:7.2-fpm docker pull php:5.6-fpm docker pull nginx:1.15 ### 創建容器,映射工作目錄和端口 # 創建php:5.6-fpm的容器并命名php56,將容器的9000端口映射到主機的9000端口。 # 注意:左邊是宿主機,右邊是docker # 注意:掛載的目錄要和nginx配置的root目錄一致 docker run -d -p 9000:9000 --name php56 -v /home/docker/wwwroot:/usr/share/nginx/html php:5.6-fpm # 停止上面版本之后再創建其他版本的PHP # 進入容器后再通過docker-php-ext-install來安裝對應的擴展 docker-php-ext-install mysqli docker run -d -p 9000:9000 --name php72 -v /home/docker/wwwroot:/usr/share/nginx/html php:7.2-fpm # 創建mysql容器,同一個鏡像可以創建多容器(鏡像就像是類,容器就像是實例) docker run -d -p 3307:3306 --name mysql57-master -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 docker run -d -p 3308:3306 --name mysql57-slave -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 # 創建nginx容器 # 1. 第一個“-v”,是項目位置,把項目放到掛載到的目錄下即可 # 2. 第二個“-v”,是掛載的主配置文件"nginx.conf",注意"nginx.conf"文件內有一行 # "include /etc/nginx/conf.d/*.conf;" , # 這個include指向了子配置文件的路徑,此處注意include后所跟的路徑一定不能出錯 # 3. 第三個“-v”,把docker內子配置文件的路徑也掛載了出來,注意要與 “2.” 中include指向路徑一致 # 4. nginx.conf是掛載了一個文件(docker是不推薦這樣用的),conf.d掛載的是一個目錄 # 注意,一定要先創建目錄再掛載 docker run \ --name nginx115 \ -d -p 80:80 \ -v /home/docker/wwwroot:/usr/share/nginx/html \ -v /home/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \ -v /home/docker/nginx/vhost:/etc/nginx/conf.d \ nginx:1.15 >[info] 1. 掛載的目錄可以用nsenter命令進入容器中查看,注意,不要用docker attach。 甚至還可以用 docker exec -i -t container_name /bin/bash > 2. 要理解**映射目錄**,宿主目錄只是映射到容器目錄,要站在容器目錄的角度來做相應的配置! > 3. **注意,php的掛載目錄要與nginx的掛載目錄要一致,否則會出現`File not found.`錯誤!** ### 配置 >[danger] 注意,所有的配置是以容器根目錄開始;不要設置成映射的宿主機目錄。 `nginx.conf` user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; 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; } `hello_world.conf` server { listen 80; server_name localhost; # 這里是容器的位置! root /usr/share/nginx/html; index index.php index.html; location / { index index.php index.html index.htm; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?$1 last; break; } } location ~ \.php$ { # 這里的ip是對應PHP版本的容器的ip地址 # docker inspect -f '{{.NetworkSettings.IPAddress}}' 容器名 # 版本切換的話,就是停止和啟動對應版本的容器即可 fastcgi_pass 172.17.0.2:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } ### 安裝PHP擴展 docker exec -it php5.6 /bin/bash docker-php-ext-install mysqli (mysql,gd,curl,...) 安裝鏡像中非自帶的php擴展:例如 php-redis擴展: php-redis擴展下載地址:https://github.com/phpredis/phpredis (選擇適合的版本下載) 可以在php容器內使用wget下載,也可以在ubuntu中下載后拷貝到容器中。 #將ubuntu中的/data/phpredis3.1.2拷貝到容器的/usr/src/php/ext/目錄下并重命名為redis 。 docker cp /data/phpredis3.1.2 php5.6:/usr/src/php/ext/redis ### PHP鏈接其他容器的mysql ~~~ <?php $dbms='mysql'; //數據庫類型 $host='172.17.0.3'; //容器ip $port=3306; /* $host='172.28.3.199'; //宿主機ip $port=3307; 注意: 端口映射: 3307:3306 容器ip:172.17.0.3 宿主機ip:172.28.3.199 如果要通過容器ip來鏈接的話,端口要填寫容器ip的端口3306。 而不是映射到宿主機的3307端口。 如果要通過宿主機ip來鏈接的話,端口要寫映射到宿主機的端口3307。 */ $dbName='test'; //使用的數據庫 $user='root'; //數據庫連接用戶名 $pass='123456'; //對應的密碼 $dsn="$dbms:host=$host;port=$port;dbname=$dbName"; try { $dbh = new PDO($dsn, $user, $pass); //初始化一個PDO對象 echo "連接成功<br/>"; foreach ($dbh->query('SELECT * from test') as $row) { print_r($row); } $dbh = null; } catch (PDOException $e) { die ("Error!: " . $e->getMessage() . "<br/>"); } ~~~ ## docker寶塔面板安裝(不建議,做測試可以用) docker pull centos:7 # 因為要用于swoole開發,所以開的端口比較多 # 只用在開發環境 docker run -it -p 20:20 -p 21:21 -p 80:80 -p 8080:8080 -p 443:443 -p 3366:3306 -p 6399:6379 -p 888:888 -p 8888:8888 -p 9500:9500 -p 9501:9501 -p 9502:9502 -p 9503:9503 -p 9504:9504 -p 9505:9505 --name bt_panel -v /home/docker/wwwroot:/home/wwwroot centos:7 # 下載必要工具 yum -y update && yum -y install initscripts screen wget # 防止網絡掉線或意外退出,可以使用screen工具 screen -S install_bt # 安裝寶塔面板 wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh **安裝完輸出以下內容** ================================================================== Congratulations! Installed successfully! ================================================================== # 自行替換成內網ip Bt-Panel: http://180.168.76.242:8888/6a863329 username: vzsybxji password: 455e4a2a # 寶塔命令 https://www.bt.cn/btcode.html
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看