日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

每次在配置服務器的時候,對于配置站點都很煩躁,因為招數都一樣,卻不得不東改一下西改一下,所以就編寫了這個腳本,下次部署網站的時候,直接執行就可以了。

一、切換內定Shell為 bash

使用的ubuntu18.04 LTS 版本,默認的是dash

使用 命令查看當前系統的內定Shell是bash還是dash

————————————————

版權聲明:本文為CSDN博主「Marhal」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/qq_38157006/article/details/94569440

ls -l /bin/sh

如果結果顯示為 bash就跳過,如果是dash 則切換過來

sudo dpkg-reconfigure dash

二、編寫shell腳本 create_hosts.sh

#!/bin/bash
#默認的web服務器名稱
SERVER_NAME=Nginx
#第一步,選擇web服務器
doChooseServer(){
	echo -n '請選擇服務器 1.nginx 2.Apache :' 
	read SERVICE_CODE
	 
	if [ $SERVICE_CODE == 1 ]
	then 
 	echo '你選擇了nginx'
	elif [ $SERVICE_CODE == 2 ]
	then
 	echo '你選擇了apache'
 	SERVER_NAME=apache2
	else
 	echo 'default nginx'
	fi
 
}
#第二步,輸入域名
doInputUrl(){
 echo -e "請輸入要添加的域名(不含http/https):"
 read INPUT_URL
 
	if [[ -z $INPUT_URL ]]
 then
 echo -e "域名不可為空!n"
 doInputUrl
	fi
}
#第三步,輸入端口號 默認80
doInputPort(){
	echo -e "請輸入端口號(默認80):"
	read INPUT_PORT
	if [[ -z $INPUT_PORT ]]
	then
		echo '80'
		INPUT_PORT=80
	fi
}
#第四步,輸入項目根目錄,不存在可以選擇是否創建
doInputDir(){
	echo -e "請輸入網站根目錄(如 /var/www/html/myproject):"
	read INPUT_DIR
	if [[ -z $INPUT_DIR ]]
	then
		echo -e "網站目錄不可為空!n"
		doInputDir
	fi
 
	if [ ! -d $INPUT_DIR ]
	then
		echo '文件夾不存在,是否創建?(1.創建2.不創建)'
		read IS_CREATE_DIR
		if [[ $IS_CREATE_DIR == 1 || -z $IS_CREATE_DIR ]]
		then
			mkdir -p $INPUT_DIR
			if [[ $? -ne 0 ]]
			then
				echo '文件夾創建失敗,稍后請手動創建';
			fi
			echo '文件夾創建成功'
		else
			echo '稍后請手動創建項目根目錄!'
		fi
	fi
 
}
 
 
doChooseServer
doInputUrl
doInputPort
doInputDir
#項目配置文件位置
SERVER_CONF_DIR="/etc/$SERVER_NAME/sites-available"
SERVER_LN_CONF_DIR="/etc/$SERVER_NAME/sites-enabled/"
# 再次確認虛擬主機信息
echo -e "service: $SERVER_NAME n 網站根目錄: $INPUT_DIR n 域名: $INPUT_URL:$INPUT_PORT n 確認添加虛擬主機?(yes/no)"
 
read IS_SURE
 
if [[ -z $IS_SURE ]]
then
	exit 0
fi
 
if [ $IS_SURE == 'yes' ]
then
	echo '操作進行中......'
	echo -e "正在生成$INPUT_URL的配置文件...n"
 
	#-------------nginx 配置文件 START--------------#
 
	NGINX_LOCATION_STRING='
	location / {n
		try_files $uri $uri/ /index.php?$query_string;n
	}'
 
	NGINX_PHP_LOCATION_STRING='
	location ~ .php$ {n
		include snippets/fastcgi-php.conf;n
		fastcgi_split_path_info ^(.+.php)(/.+)$;n
		fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;n
		include fastcgi_params;n
	}'
 
	NGINX_KNOW_LOCATION_STRING='
	location ~ /.(?!well-known).* {n
		deny all;n
	}'
 
	NGINX_CONF_STRING="
	server {n
		listen $INPUT_PORT;n
		listen [::]:$INPUT_PORT;n
		root $INPUT_DIR;n
		add_header X-Frame-Options "SAMEORIGIN";n
		add_header X-XSS-Protection "1; mode=block";n
		add_header X-Content-Type-Options "nosniff";n
		index index.php index.html index.htm;n
		charset utf-8;n
		server_name $INPUT_URL;n
		$NGINX_LOCATION_STRINGn
		location = /favicon.ico { access_log off; log_not_found off; }n
		location = /robots.txt { access_log off; log_not_found off; }n
		error_page 404 /index.php;n
		$NGINX_PHP_LOCATION_STRINGn
		$NGINX_KNOW_LOCATION_STRINGn
	}"
	#-------------nginx 配置文件 END ---------------#
 
	#-------------apache 配置文件 START--------------#
 
	APACHE_ERROR_LOG_STR='Errorlog ${APACHE_LOG_DIR}/error.logn'
	APACHE_CUSTON_LOG_STR='CustomLog ${APACHE_LOG_DIR}/access.log combinedn'
 
	APACHE_CONF_STRING="<VirtualHost *:$INPUT_PORT>n
		ServerName $INPUT_URLn
		ServerAdmin webmaster@localhostn
		DocumentRoot $INPUT_DIRn
		$APACHE_ERROR_LOG_STRn
		$APACHE_CUSTON_LOG_STRn
	</VirtualHost>"
	#-------------apache 配置文件 END ---------------#	
 #寫入配置文件
	if [ $SERVICE_CODE == 2 ]
	then
		CONF_PATH="$SERVER_CONF_DIR/$INPUT_URL.conf"
 CONF_LN_PATH="$SERVER_LN_CONF_DIR/$INPUT_URL.conf"
		echo -e $APACHE_CONF_STRING > $CONF_PATH
	else
		CONF_PATH=$SERVER_CONF_DIR/$INPUT_URL
 CONF_LN_PATH="$SERVER_LN_CONF_DIR/$INPUT_URL.conf"
		echo -e $NGINX_CONF_STRING > $CONF_PATH
	fi
 
 
	if [[ $? -ne 0 ]]
	then
		echo '配置文件寫入失敗'
		exit 0
	fi
 
	#創建軟鏈接
	if [[ -L $CONF_LN_PATH ]]
	then
		echo '軟鏈接已經存在,跳過此步驟';
	else
		ln -s $CONF_PATH $SERVER_LN_CONF_DIR
 
		if [[ $? -ne 0 ]]
		then
			echo '軟鏈接創建失敗';
		fi
	fi
 
 #更新hosts文件
 
	echo -e "正在更新hosts文件n"
	echo "127.0.0.1 $INPUT_URL" >> /etc/hosts
	if [[ $? -ne 0 ]]
	then
		echo 'hosts文件更新失敗'
		exit 0
	fi
	echo 'hosts文件更新成功'
 
	echo -e "正在重啟$SERVER_NAME服務器n"
	service $SERVER_NAME restart
 
	if [[ $? -ne 0 ]]
	then
		echo "$SERVER_NAME重啟失敗"
		exit 0
	fi
 
	echo -e "重啟成功,網站配置完成"
else
	exit 0
fi

三、配置權限

sudo chmod +x create_hosts.sh

四、開始執行

sudo sh create_hosts.sh

然后根據提示輸入相應的信息即可,親測可用。

五、缺陷。

1.沒有檢測站點是否已經存在,存在的話會覆蓋掉原有的配置

2.hosts文件會無限追加

3.沒有正則判斷輸入的格式

so,這只是個人用來偷懶的一個小腳本,如有可以改進的地方,多多指教。

分享到:
標簽:虛擬主機
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定