1、編寫php測試文件
在文件夾:/mnt/hgfs/dockers/test_site/www目錄下創(chuàng)建文件:test.php,內容為:
<?php
echo "hello world!!!!!! From test.php";
?>
2、編寫php-fpm部署配置文件
在文件夾:/mnt/hgfs/dockers/test_site/compose下創(chuàng)建文件:test_site_php.yml,內容如下:
version: "3.5"
services:
test_site_php:
container_name: test_site_php
image: php:7.2.3-fpm
privileged: true
restart: always
networks:
- test_site_network
volumes:
- /mnt/hgfs/dockers/test_site/www:/var/test_site/www
environment:
- TZ=Asia/Shanghai
networks:
test_site_network:
name: test_site_network
注意:此文件中網(wǎng)絡的名稱和nginx配置文件中網(wǎng)絡的名稱是相同的,都是:test_site_network
3、修改nginx配置文件,支持php
server {
listen 80;
listen 443 ssl;
server_name api.test.site;
#ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server_nopwd.key;
# 指定密碼為openssl支持的格式
ssl_protocols SSLv2 SSLv3 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5; # 密碼加密方式
ssl_prefer_server_ciphers on; # 依賴SSLv3和TLSv1協(xié)議的服務器密碼將優(yōu)先于客戶端密碼
location / {
root /var/test_site/www;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/test_site/www;
}
location ~ \.php$ {
fastcgi_pass test_site_php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/test_site/www$fastcgi_script_name;
include fastcgi_params;
}
}
注意:最后一段為新加的修改
注意:此文件中網(wǎng)絡的名稱和php配置文件中網(wǎng)絡的名稱是相同的,都是:test_site_network
4、部署php和nginx
在shell里運行docker列表命令:
docker ps
由于修改了test_site_nginx.yml文件,所以如果test_site_nginx的docker容器存在,則先利用下面的命令卸載掉
cd /mnt/hgfs/dockers/test_site/compose
docker-compose -f test_site_nginx.yml down
按順序啟動test_site_php容器和test_site_nginx容器,由于nginx引用了php,所以先啟動php,后啟動nginx
docker-compose -f test_site_php.yml up -d
docker-compose -f test_site_nginx.yml up -d
5、測試訪問網(wǎng)站
在瀏覽器里輸入:http://api.test.site/test.php
成功!
在瀏覽器里輸入:https://api.test.site/test.php
成功!
6、編寫安裝和卸載docker容器的腳本
編寫一個簡單的安裝和卸載腳本,方便操作
1)安裝腳本:install.sh
編輯install.sh文件,內容如下:
#!/bin/bash
#echo ""
echo "安裝 php..."
docker-compose -f test_site_php.yml up -d
echo "php 安裝結束!"
echo ""
echo "安裝 nginx..."
docker-compose -f test_site_nginx.yml up -d
echo "nginx 安裝結束!"
echo ""
修改執(zhí)行權限:
chmod +x install.sh
2)卸載腳本:uninstall.sh
編輯uninstall.sh文件,內容如下:
#!/bin/bash
echo "卸載 nginx..."
docker-compose -f test_site_nginx.yml down
echo "nginx 卸載完成!"
echo ""
echo "卸載 php..."
docker-compose -f test_site_php.yml down
echo "php 卸載完成!"
echo ""
service docker restart # 為了保險起見,卸載完成后重啟一下docker服務
修改執(zhí)行權限:
chmod +x uninstall.sh
7、測試腳本
cd /mnt/hgfs/dockers/test_site/compose
docker ps # 列舉是否有容器在運行
./uninstall.sh # 有則卸載
./install.sh # 安裝
經測試,沒有問題!
上一篇:Docker搭建LNMP環(huán)境實戰(zhàn)(07):安裝nginx文章來源:http://www.zghlxwxcb.cn/news/detail-849764.html
下一篇:Docker搭建LNMP環(huán)境實戰(zhàn)(09):安裝mariadb文章來源地址http://www.zghlxwxcb.cn/news/detail-849764.html
到了這里,關于Docker搭建LNMP環(huán)境實戰(zhàn)(08):安裝php-fpm的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!