12. 為LAMP的網站增加專案
一臺執行LAMP環境的伺服器,上面有幾十個網站,每一個網站都分配了單獨的虛擬主機和MySQL庫。目前網站的數量還在持續增加,每增加一個網站需要做的操作如下:
1)新增一個Apache虛擬主機;
2)新增一個ftp賬號對該網站目錄有管理許可權;
3)新增一個庫;
4)新增一個資料庫使用者管理新增的庫。
由於這些操作具有非常高的重複度,所以適合用shell指令碼實現。
參考指令碼如下:
#!/bin/bash
#在LAMP環境下新增站點,包括Apache配置、FTP增加使用者、MySQL增加庫及使用者
#網站目錄
webdir=/data/wwwroot
#FTP的虛擬使用者配置檔案目錄
ftpuserdir=/etc/vsftpd/vuuser
#FTP虛擬使用者密碼檔案
ftpuserfile=/root/login
#mysql命令列登陸root
mysqlc="/usr/local/mysql/bin/mysql -uroot -pjk1hYUcnt6"
#Apache虛擬主機配置檔案
httpd_config_f="/usr/local/apache/conf/extra/httpd-vhosts.conf"
#定義增加MySQL庫和使用者的函式
add_mysql_user()
{
mysql_p=`mkpasswd -s 0 -l 12` #生成隨機密碼
#將密碼儲存到臨時檔案裡,這裡的 $pro 為自定義的專案名字
echo "$pro $mysql_p" >/tmp/$pro.txt
#將建立使用者並授權的命令傳遞給mysql
$mysqlc << EOF
create database $pro;
grant all on $pro.* to "$pro"@'127.0.0.1' identified by "$mysql_p";
EOF
}
#定義增加FTP使用者的函式
add_ftp_user()
{
ftp_p=`mkpasswd -s 0 -l 12`
echo "$pro" >> $ftpuserfile
echo "$ftp_p" >> $ftpuserfile
#將使用者、密碼檔案轉換成密碼db檔案
db_load -T -t hash -f $ftpuserfile /etc/vsftpd/vsftpd_login.db
cd $ftpuserdir
#這裡的aaa表示之前的專案檔案,作為配置模板
cp aaa $pro
sed -i "s/aaa/$pro/" $pro
/etc/init.d/vsftpd restart #重啟vsftpd服務
}
#定義增加Apache虛擬主機的函式
config_httpd()
{
mkdir $webdir/$dom #增加網站根目錄,$dom為自定義的域名
chown vsftpd:vsftpd $webdir/$dom
cat >> $httpd_config_f << EOF
<VirtualHost *:80>
DocumentRoot $webdir/$dom
ServerName $dom
<Directory $webdir/$dom>
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
EOF
/usr/local/apache/bin/apachectl graceful #過載apache服務
}
read -p "input the project name: " pro #自定義專案名
read -p "input the domain: " dom #自定義域名
add_mysql_user
add_ftp_user
config_httpd
相關文章
- LAMP架構部署和動態網站環境的配置LAMP架構網站
- [譯] 多網站專案的 CSS 架構網站CSS架構
- pipeline釋出java網站專案Java網站
- 10.15 品優購網站專案網站
- 網站增加程式碼監測網站
- 一個高效搜尋github專案的網站Github網站
- django 開發網站-建立 django 專案Django網站
- maven專案增加web.xmlMavenWebXML
- PyThon模組與專案熱度網站Python網站
- 專案管理相關網站(不斷更新)專案管理網站
- [專業術語]LAMP架構LAMP架構
- 【VIP視訊網站專案上線】基於Nodejs的Express框架開發的VIP視訊網站專案及完整程式碼分享...網站NodeJSExpress框架
- 小記:為開源專案增加一個新功能的開發歷程
- 如何在已有內網網路中增加專案專用域名解析伺服器(DNS)內網伺服器DNS
- 第一次做web專案購物網站專案總結Web網站
- 記錄一個開源專案排名網站網站
- 基於web網站專案的效能測試結果分析Web網站
- 分類目錄 網址收藏網站 Thinkphp + Bootstrap 練習做的專案網站PHPboot
- 為開源專案 go-gin-api 增加後臺任務模組GoAPI
- 零基礎創作專業wordpress網站03-為網站新增頁面網站
- 專案的升級-給RemoveButterKnife外掛增加新功能REM
- 社交網站後端專案開發日記(二)網站後端
- docsify + Gitee Pages服務搭建開源專案網站Gitee網站
- 社交網站後端專案開發日記(一)網站後端
- 大型分散式網站架構實戰專案分析分散式網站架構
- 為你的網站新增 htpps網站
- 蘋果推出重新設計的開源專案主題網站蘋果網站
- LAMPLAMP
- 這個專案,教大家仿 100 多個知名網站!網站
- 小說網站-自動收集小說功能-Django專案網站Django
- Python爬蟲小專案:爬一個圖書網站Python爬蟲網站
- web前端開發專案資源網站,私家珍藏!Web前端網站
- 乾貨 | 大型網站專案架構技術一覽網站架構
- 自助友情連結網站 TP框架開發 增加網站外鏈 免費收錄網站框架
- 如何成為一名專業的網站最佳化人員?網站
- 網站域名備案網站
- php網站的html檔案在哪修改,如何找到並編輯PHP網站的HTML檔案PHP網站HTML
- 天天生鮮專案需求分析——基於Django框架的天天生鮮電商網站專案系列部落格(一)Django框架網站