PHP生產環境 02 - 使用webhooks自動部署伺服器程式碼
摘要:
配置PHP專案(以KFKCms為例)
配置vhost
cd ~/kfkdock/vhost
cp laravel.cc.conf kfkcms.com.conf
# 更改對應的內容
vi kfkcms.com.conf
# 修改內容
server {
listen...
配置PHP專案(以KFKCms為例)
配置vhost
cd ~/kfkdock/vhost cp laravel.cc.conf kfkcms.com.conf # 更改對應的內容 vi kfkcms.com.conf # 修改內容 server { listen80; server_namekfkcms.com; root/var/www/kfkcms/public; indexindex.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_passphp71:9000; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; includefastcgi_params; } } sudo docker-compose stop sudo docker-compose up -d
進入容器
cd ~/kfkdock sudo docker-compose exec php71 bash
將容器的使用者公鑰,配置到Git伺服器
//生成使用者公鑰,一直回車 sudo ssh-keygen -t rsa -C "kfkdock" -f ~/.ssh/id_rsa //生成部署公鑰,一直回車 mkdir /var/www/.ssh chown -R www-data:www-data /var/www/.ssh sudo -Hu www-data ssh-keygen -t rsa-f /var/www/.ssh/id_rsa
檢視公鑰
//檢視使用者公鑰 cat ~/.ssh/id_rsa.pub //檢視部署公鑰 cat /var/www/.ssh/id_rsa.pub
配置使用者公鑰

image
配置部署公鑰

image
初始化專案
//授權 chown -R www-data:www-data /var/www/ cd /var/www //注意: //必須使用的是SSH Git地址,而非HTTPS //必須使用www-data許可權clone程式碼 sudo -Hu www-data git clone [email protected]:kfkme/kfkcms.git --depth=1 root@a3e52b3694bd:/var/www# cd kfkcms root@a3e52b3694bd:/var/www/kfkcms# composer install root@a3e52b3694bd:/var/www/kfkcms# cp .env.example .env root@a3e52b3694bd:/var/www/kfkcms# php artisan key:generate
修改Git配置
root@a3e52b3694bd:/var/www/kfkcms# git config --global user.name "kafu" root@a3e52b3694bd:/var/www/kfkcms# git config --global user.email "[email protected]" # 郵箱請與conding上一致
配置Git伺服器的WebHook

image