CentOS7的軟體安裝

Lance發表於2020-08-11

一、Linux 常用命令

# 查詢檔案位置
$ find / -name php.ini

# 檢視某個程式執行情況
$ ps aux | grep php

# 檢視埠情況
$ netstat -ntlp

1.1 systemctl 常用指令

$ systemctl start mysqld.service # 啟動 MySql
$ systemctl stop mysqld.service # 停止 MySql
$ systemctl restart mysqld.service # 重啟 MySql
$ systemctl status mysqld.service  # 檢視 MySql 執行狀態
$ systemctl enable mysqld.service # 啟用 MySql 開機啟動
$ systemctl disable mysqld.service # 禁用 MySql 開機啟動

更新軟體源

$ yum update
$ yum clean packages

安裝 nginx

yum install nginx

# 管理 Nginx 服務
$ systemctl start nginx  # 啟動 Nginx 
$ systemctl stop nginx  # 停止 Nginx 
$ systemctl restart nginx  # 重啟 Nginx

# 使用 `systemctl` 命令開關服務的開機自啟:
$ systemctl enable nginx # 啟用 Nginx 開機啟動 
$ systemctl disable nginx # 禁用 Nginx 開機啟動

安裝 PHP-FPM

# 配置 yum 源【來源:https://webtatic.com/】
$ yum install epel-release
$ rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

# yum 搜尋源
$ yum search php72

# 安裝 php
$ yum install -y php72w php72w-cli php72w-fpm

# 安裝 php 擴充套件【https://webtatic.com/packages/php72/】
$ yum install -y php72w-mbstring php72w-xml php72w-bcmath
$ yum install -y php72w-gd php72w-mysql php72w-opcache php72w-process php72w-devel

# 檢視 php 擴充套件
$ php -m

# 管理 PHP-FPM 服務
$ systemctl restart php-fpm  # 重啟 PHP-FPM 
$ systemctl start php-fpm  # 啟動 PHP-FPM 
$ systemctl stop php-fpm  # 停止 PHP-FPM

# 開關機自啟
$ systemctl enable php-fpm # 啟用 PHP-FPM 開機啟動 
$ systemctl disable php-fpm # 禁用 PHP-FPM 開機啟動

# 確認 PHP-FPM 正常執行
$ ps aux |  grep php

安裝 Git

$ yum install -y git

$ git --version # 檢視 git 版本

# 生成 SSH 祕鑰
$ ls -al ~/.ssh # 檢視是否 存在 `id_rsa` 與檔案 `id_rsa.pub`
$ ssh-keygen -t rsa -C "your_email@example.com" # 一路回車【密碼為空】
$ ls -al ~/.ssh # 再次檢視是否生成成功
$ cat ~/.ssh/id_rsa.pub # 檢視公鑰內容

安裝 Composer

【來源:https://getcomposer.org/download/】

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" # 或者使用 `$ wget -O composer-setup.php https://getcomposer.org/installer`
$ php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php --filename=composer --install-dir=/usr/local/bin --version=1.9.0
$ php -r "unlink('composer-setup.php');"

# 檢查安裝情況
$ composer --version

# 淘寶全量映象【https://learnku.com/composer/wikis/30594】
$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/


# composer 故障排除
https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode

安裝 NodeJs

參考:

# 解除安裝並新增 yum 源
$ yum remove nodejs
$ yum clean all && yum makecache fast 
$ yum install -y gcc-c++ make 
$ curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash -

# 安裝 nodejs
$ yum install -y nodejs

# 檢視安裝情況
$ node -v
$ npm -v

# 新增淘寶映象
$ npm config set registry https://registry.npm.taobao.org

安裝 yarn

【參考:https://tecadmin.net/install-yarn-centos/】

$ npm install yarn -g
$ yarn -v

# 新增淘寶映象
$ yarn config set registry https://registry.npm.taobao.org

部署 laravel 應用

Laravel 生產環境的必要優化

$ mkdir /data/website && cd /data/website # 建立專案目錄
$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# 使用 composer 建立 laravel 專案
# 注意:此過程中如果 composer 遇到問題: [請根據此連線進行排查...](https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode)
$ composer create-project --prefer-dist laravel/laravel blog "5.8.*" 

$ cd  /data/website/blog   # 進入專案目錄
$ chmod -R 777 storage/ # 設定許可權
$ chmod -R 777 bootstrap/cache/ # 設定許可權

# 配置 nginx 伺服器
$ vim /etc/nginx/conf.d/blog.conf
# 輸入以下內容 ##########################################
server {
    listen 80;
    server_name test.learnku.net;   # 此為必修改項,請替換為伺服器公網 IP 或域名
    root /data/website/blog/public; # 此為必修改項,請注意指向站點根目錄的 public 子目錄

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
        try_files $uri = 400;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}
#######################################################

# 重啟 nginx 伺服器
$ systemctl restart nginx

# 此時域名配置好解析後訪問就可以啦。

安裝 MySql

# 安裝 mysql 官方 yum 源
$ rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 檢視 MySQL yum 源
$ yum list |  grep mysql # 發現只有 mysql80 的包,這是因為沒有開啟 mysql57 的包

# 關閉 80 包,開啟 57 包
$ yum-config-manager --disable mysql80-community
$ yum-config-manager --enable mysql57-community

# 再次檢視 MySQL yum 源
$ yum list |  grep mysql # 發現有了 mysql57 的包

# 安裝 mysql
$ yum install -y mysql-community-server
$ yum install -y mysql-community-client # 根據需要安裝(可不裝)

# 管理 mysql
$ systemctl start mysqld # 啟動 mysql
$ systemctl stop mysqld # 停止 mysql

# 檢視超級賬戶 root 臨時密碼
$ grep 'temporary password' /var/log/mysqld.log

# 修改超級賬戶 root 密碼
$ mysql  -uroot  -p
mysql> ALTER USER "root"@"localhost" IDENTIFIED BY '你的新密碼';
mysql> flush privileges;
mysql> exit;
$ systemctl restart mysqld.service

安裝 Redis

# [下載 fedora 的 epel 倉庫](https://fedoraproject.org/wiki/EPEL/zh-cn)
$ yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

$ yum install -y redis
$ cat /etc/redis.conf # 檢視 redis 配置檔案【根據需要自行修改】

# 管理程式
$ systemctl start redis # 啟動 redis
$ systemctl stop redis # 停止 redis

# 測試 redis
$ ps aux | grep redis # 檢視 redis 啟動情況
$ redis-cli # 進入 redis 互動命令
redis>  keys *
redis> exit # 退出 redis 互動命令

# 客戶端程式 PhpRedisAdmin 如有需要自行安裝

安裝 Memcached

$ yum search memcached # 檢視 yum 源中是否存在 memcached
$ yum info memcached # 檢視 yum 源中 memcached 版本

$ yum install memcached

# 管理程式
$ systemctl start memcached.service # 啟動 memcached 服務
$ systemctl stop memcached.service # 停止 memcached 服務

# 測試 memcached
$ yum install -y telnet
$ telnet 127.0.0.1 11211 # 連線 memcached
memcached> add username 0 0 7
memcached> get username
memcached> quit # 退出 memcached

安裝 MongoDB

官方安裝手冊

# 新增 yum 源
$ vim /etc/yum.repos.d/mongodb-org-4.2.repo
# 輸入以下內容 ##########################################
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
#######################################################

$ yum install -y mongodb-org

# 管理 mongodb 【參考:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/#id4】
$ systemctl start mongod.service # 啟動
$ systemctl stop mongod.service # 停止

安裝 OpenCC

# 安裝依賴
$ # 注意需要 gcc 版本 >= 4.6
$ yum install -y cmake
$ yum install -y doxygen

# 安裝 OpenCC【https://github.com/BYVoid/OpenCC】
$ cd /usr/local/src
$ git clone https://github.com/BYVoid/OpenCC.git --depth 1
$ cd OpenCC/
$ make
$ make install
$ opencc --version # 檢視 opencc 版本(如果報錯)

# 我安裝的過程中遇到第1個報錯 #####################################################
# 報錯資訊:
`opencc: error while loading shared libraries: libopencc.so.2: cannot open shared object file: No such file or directory`

# 查詢問題
$ find / -name libopencc.so*  # 先在系統上查詢一下對應檔案

# 報錯原因:我們要找的 libopencc.so.2 ,在/usb/lib/下面,在 /usr/lib64 下沒有(所以我們需要做一下軟鏈)
$ ln -s /usr/lib/libopencc.so.2 /usr/lib64/libopencc.so.2
###############################################################################

# 再次驗證
$ opencc --version # 檢視 opencc 版本(發現此時 ok 了)

# 測試
$ echo '嚴格區分「一簡對多繁」和「一簡對多異」' | opencc -c t2s

安裝 opencc4php

$ cd /usr/local/src
$ git clone https://github.com/nauxliu/opencc4php.git --depth 1
$ cd opencc4php/
$ phpize
$ ./configure
$ make && sudo make install
# 檢視最後一句提示:Installing shared extensions:     /usr/lib64/php/modules/

# 新增 php 擴充套件
$ find / -name php.ini # 找到 php.ini 位置
$ vim /etc/php.ini # 上一步找到的檔案
# 要新增的內容 ##################################################################
# 通過關鍵字 `extension` 找到對應的位置新增以下內容即可:
; OpenCC 擴充套件
extension=opencc.so
###############################################################################

# 重啟 php-fpm
$ systemctl restart php-fpm.service
$ php -m # 檢視 php 擴充套件中是否有了 `opencc`

# 測試
$ cd /data/website/
$ vim index.php
# 要新增的內容 ##################################################################
<?php

$od = opencc_open("s2twp.json"); //傳入配置檔名
$text = opencc_convert("嚴格區分", $od);
echo $text . PHP_EOL;
opencc_close($od);
###############################################################################

# 測試【具體使用見:https://github.com/NauxLiu/opencc4php】
$  php index.php # 輸出 "嚴格區分";

安裝 Elasticsearch

# Download and install the public signing key:
$ rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

# 新增 yum 源
$ vim /etc/yum.repos.d/elasticsearch-7.x.repo
# 要新增的內容 ##################################################################
[elasticsearch-7.x] 
name=Elasticsearch repository for  7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1 
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1 
autorefresh=1 
type=rpm-md
###############################################################################

# 安裝 es
$ yum install -y elasticsearch

# 管理 es
$ systemctl start elasticsearch.service
$ systemctl stop elasticsearch.service

# 測試 elasticsearch
# 參考 https://www.elastic.co/guide/cn/elasticsearch/guide/current/running-elasticsearch.html
$ curl http://127.0.0.1:9200?pretty 

安裝 Supervisor

$ yum install -y epel-release # 選擇 yum 源
$ yum install -y supervisor # 安裝
$ supervisord -v # 檢視 版本

# 管理 Supervisor
$ systemctl start supervisord # 啟動
$ systemctl stop supervisord # 停止
$ ps -ef|grep supervisord  # 檢視是否存在supervisord程式

# 常用命令
$ supervisorctl status # 檢視服務狀態
$ supervisorctl update # 重新載入配置檔案
$ supervisorctl restart # 重新啟動服務
$ supervisorctl stop # 停止服務
$ supervisorctl pid # 檢視某服務的 pid
$ supervisorctl tail # 輸出最新的 log 資訊
$ supervisorctl shutdown # 關閉 supervisord 服務

# 配置檔案 `/etc/supervisord.conf`
# 檢視檔案我們不難發現以下兩句:
######################################################################
[include]
files = supervisord.d/*.ini
######################################################################
# 順在這裡推薦一篇文章:[使用Supervisor管理程式](https://www.fanhaobai.com/2017/09/supervisor.html)

安裝 SamBa

注意:阿里、騰訊雲伺服器強制禁用了 445 埠,所以不要去嘗試了。

Samba 服務搭建
使用Samba或NFS實現檔案共享

$ yum info samba
$ yum install -y samba # 安裝 samba 共享資料夾
$ rpm -qa | grep samba # 檢視已經安裝好的Samba的資訊

# 建立共享賬號
$ useradd test1 -s /bin/false -g daemon # 建立SMB帳號 test1就是使用者帳號
$ smbpasswd -a test1 # 設定密碼

# 配置共享資料夾
$ cp /etc/samba/smb.conf /etc/samba/smb.conf.example # 備份配置檔案
$ vim /etc/samba/smb.conf # 編輯配置檔案
########################################################################
# 加入如下配置:
[test]
    comment = test01
    path=/home/test
    browseable = yes
    guest ok = no
    writable = yes
    printable = no
    #允許訪問的使用者
    valid users = test1
    create mask = 0775
    directory mask = 0775
########################################################################

$ systemctl restart smb.service # 重啟 samba

# 可能需要關閉 selinux

安裝 NFS

使用Samba或NFS實現檔案共享
如何確保NFS服務安全
搭建一個基於 Kerberos 認證的 NFS 伺服器

$ yum install -y nfs-utils # 安裝

# 檢測安裝情況
$ rpm -qa | grep nfs
$ rpm -qa | grep rpcbind

# 為 nfs 建立使用者
$ useradd website # 建立使用者
$ passwd website # 設定密碼
$ id website # 檢視使用者的【 uid 和 gid】

# 建立共享資料夾
$ mkdir /data
$ chown website:website /data/

# 配置共享資料夾
$ vim /etc/exports
#########################################################################
# `secure`:限制客戶端只能從小於1024的tcp/ip埠連線nfs伺服器(預設設定)
# `insecure`:允許客戶端從大於1024的tcp/ip埠連線伺服器(請開啟:否則 win 掛載不上)
#【anonuid 與 anongid】 是上一步所查到的使用者 【uid 和 gid】
# 訪問 http://www.ip138.com/ 獲取你自己的 ip 地址(替換 * 號)
/data  *(insecure,rw,sync,root_squash,anonuid=1000,anongid=1000)
# /data  218.17.175.10(insecure,rw,sync,root_squash,anonuid=1000,anongid=1000)
#########################################################################

# 啟動 nfs
$ systemctl start rpcbind # 啟動
$ systemctl start nfs.service # 啟動
$ systemctl status nfs.service # 檢視狀態
$ exportfs  -av # 使配置生效  exportfs  -rv

# 查詢NFS的共享狀態
$ showmount -e # 預設檢視自己共享的服務,前提是要DNS能解析自己,不然容易報錯
$ showmount -a # 顯示已經與客戶端連線上的目錄資訊

# 檢視 nfs 埠使用情況
$ rpcinfo -p
$ vim /etc/sysconfig/nfs
# 設定固定埠:############################################################
# 固定埠
MOUNTD_PORT=20048 # mountd
LOCKD_TCPPORT=30001 # nlockmgr
LOCKD_UDPPORT=30001 # nlockmgr
RQUOTAD_PORT=30002 
STATD_PORT=30003
##########################################################################

# 重啟服務
$ systemctl restart rpcbind
$ systemctl restart nfs

# 再次檢視 nfs 埠使用情況
$ rpcinfo -p

# 注意:
1. 本地虛擬機器:直接禁用防火牆
2. 雲主機:【雲主機控制檯】->【安全組】中放開以下埠->TCP/UDP: 111/2049/20048/30001-30003】

# 新增防火牆設定 【TCP/UDP: 111/2049/20048/30001-30003】
$ firewall-cmd --permanent --add-port=111/tcp
$ firewall-cmd --permanent --add-port=111/udp
$ firewall-cmd --permanent --add-port=2049/tcp
$ firewall-cmd --permanent --add-port=2049/udp
$ firewall-cmd --permanent --add-port=20048/tcp
$ firewall-cmd --permanent --add-port=20048/udp
$ firewall-cmd --permanent --add-port=30001/tcp
$ firewall-cmd --permanent --add-port=30001/udp
$ firewall-cmd --permanent --add-port=30002/tcp
$ firewall-cmd --permanent --add-port=30002/udp
$ firewall-cmd --permanent --add-port=30003/tcp
$ firewall-cmd --permanent --add-port=30003/udp
$ firewall-cmd --reload # 重新載入配置
# 或者新增服務也可以
$ firewall-cmd --permanent --add-service=nfs 
$ firewall-cmd --permanent --add-service=rpc-bind 
$ firewall-cmd --permanent --add-service=mountd 
$ firewall-cmd --reload  # 重新載入配置

# 使用 window 【對映網路驅動器】 掛載 【nfs 共享檔案】
[教你怎麼在windows上掛載nfs](https://jingyan.baidu.com/article/0a52e3f4dc3f4abf63ed7259.html)
[ win10 掛載NFS(網路資料夾)](https://blog.csdn.net/qq_34158598/article/details/81976063)
## 步驟1:新增 登錄檔
cmd> regedit
- 找到:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ ClientForNFS \ CurrentVersion \ Default
- 新增:選擇 `新建` -> `QWORD值`:【AnonymousUid,AnonymousGid 兩個值,值為 0- 重啟 window 電腦使登錄檔生效
## 步驟2:在 windos 上開啟 nfs 服務
## 步驟3:開啟 cmd 命令區
cmd> showmount -e 49.235.86.245 # 換成你的雲伺服器公網 ip(客戶端測試掛載情況)
## 步驟4:掛載 nfs
cmd> mount \\49.235.86.245\data T:
## 步驟5:開啟【我的電腦】 會發現多了一個 `T 盤`

# 掛載不上?檢視錯誤日誌:
$ cat /var/log/messages | grep mount

# 安全問題不做說明(因為我們推薦在開發環境搭建 nfs 而不是生產環境)

安裝 Firewalld 防火牆

$ yum install firewalld            # 安裝
$ systemctl start firewalld # 啟動
$ systemctl status firewalld  # 檢查狀態
$ systemctl stop firewalld # 關閉防火牆
$ systemctl disable firewalld # 禁用防火牆

$ um list | grep firewall         # 檢視是否安裝防火牆
$ ps -ef | grep firewall           # 檢視防火牆執行狀態

# 埠設定
$ firewall-cmd --permanent --add-port=22/tcp       # 永久 新增22埠
$ firewall-cmd --permanent --remove-port=22/tcp    # 永久 刪除22埠
$ ...
$ firewall-cmd --query-port=22/tcp     # 檢視22埠
$ firewall-cmd --list-ports            # 檢視埠列表
$ firewall-cmd --reload                # 重新載入配置

# 服務設定
$ firewall-cmd --query-service=ssh     # 檢視服務狀態
$ firewall-cmd --permanent --add-service=ssh       # 永久 新增服務 *
$ firewall-cmd --permanent --remove-service=ssh    # 永久 刪除服務 *
$ ...
$ firewall-cmd --list-all-zones        # 檢視所有zone資訊
$ firewall-cmd --get-default-zone      # 檢視預設zone是哪一個
$ firewall-cmd --list-services         # 列出所有服務 *
$ firewall-cmd --reload                # 重新載入配置

$ reboot # 防火牆配置後需要重啟主機

Git 鉤子

利用鉤子實現自動化部署。

第一步:建立git使用者:

# 建立一個名叫git的使用者
adduser git

第二步:給git使用者新增許可權

cd /home/git
#建立 .ssh資料夾,裡面主要用來放公鑰
mkdir .ssh
#切換到.ssh資料夾並建立authorized_keys檔案
cd .ssh
touch authorized_keys

第三步:配置git並獲取公鑰

#在本地配置使用者名稱和郵箱
git config --global user.name "name"
git config --global user.email "your email"

注意:如果用了 –global 選項,那麼以後你所有的專案都會使用這裡配置的使用者資訊。如果要在某個特定的專案中使用其他名字或郵箱,只需在該專案下執行:

git config user.name "xxx"
git config user.email "xxx"

OK,接下來我們獲取公鑰,請先檢視你的使用者下的.ssh資料夾中是否之前就含有公鑰和私鑰,我們需要尋找一對以 id_dsaid_rsa 命名的檔案,其中一個帶有 .pub 副檔名。 .pub 檔案是你的公鑰,另一個則是私鑰。如果沒有請執行ssh-keygen
使用cat ~/.ssh/id_rsa.pub命令可以獲取公鑰,複製它,使用vi或者vim命令把它貼上到我們之前建立的authorized_keys檔案中,使用:wq儲存。

第四步:初始化倉庫

建立一個存放git倉庫的資料夾:

mkdir /www/wwwroot/git
cd /www/wwwroot/git

初始化倉庫:

#初始化一個裸倉庫(強烈建議)
git init --bare website.git
#配置倉庫的許可權,讓我們之前建立好的git使用者能讀寫
chown -R git:git website.git

這裡必須注意,如果不給許可權,後面的git pull將會報錯,原因是沒有許可權寫入。關於裸倉庫和普通倉庫的區別簡單來說就是裸倉庫看不到專案檔案,普通倉庫和你的專案目錄一樣,只是多了一個.git資料夾。

第五步:生成專案倉庫

這個也是在伺服器上進行的,同時說明一下/www/wwwroot/是我的環境的根目錄。

#建立我伺服器上的專案目錄test
mkdir /www/wwwroot/test
#克隆倉庫
git clone /www/wwwroot/git/website.git
#設定許可權
chown -R git:git website

注意:一定要注意我的路徑,git倉庫是/www/wwwroot/git,專案倉庫是/www/wwwroot/test

第六步:克隆到本地

# 通過ip地址從配置好的線上倉庫拉取下來
git clone git@47.97.121.XXX:/www/wwwroot/git/website.git
# 如果有配置域名的話也可以通過域名拉取
git clone git@www.XXX.XXX:/www/wwwroot/git/website.git

因為公鑰的原因,這裡是不需要密碼的,如果成功你的電腦上會出現一個website的資料夾,如果報錯請檢查後再進行下面的操作。

第七步:測試上傳(git pull)

# 開啟剛才克隆下來的本地倉庫
cd website
# 建立README.md檔案
touch README.md
git add .
git commit -m"建立README.md檔案"
git push

不出意外已經正常上傳了,如果報錯請檢查許可權

第八步:新增鉤子

回到我們線上的伺服器,下面的是線上上操作的:

#切換到這個目錄
cd /www/wwwroot/git/website.git/hooks
# 生成post-receive檔案
touch post-receive
# 使用vim編輯
vim post-receive

post-receive檔案裡面貼上:

#!/bin/sh
# 列印輸出
echo '======上傳程式碼到伺服器======'
# 開啟線上專案資料夾
cd /www/wwwroot/test/website
# 這個很重要,如果不取消的話將不能在cd的路徑上進行git操作
unset GIT_DIR
git pull origin master
# 自動編譯vue專案,如有需要請去掉前面的#號
# npm run build
# 自動更新composer
# composer update
echo $(date) >> hook.log
echo '======程式碼更新完成======'

儲存後給post-receive檔案加上執行許可權:

chmod +x post-receive

最後一步

在本地修改部分內容,然後提交推送git push,可以看到我們已經實現了自動化部署。

使用Git實現Laravel專案的自動化部署

git 配置公鑰仍然需要輸入密碼 的解決方法

開啟終端輸入命令:vim /etc/ssh/ssh_config

Host *
        RSAAuthentication yes
        PubkeyAuthentication yes
        GSSAPIAuthentication yes

其中,RSAAuthentication yes 與 PubkeyAuthentication yes 是新增內容。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章