下文整理了一段php管理nginx虚拟主机shell脚本,希望这段脚本能帮助到各位同学,使用php作为shell脚本是一件很方便的事情,理所当然,我们可以使用php脚本来管理 nginx虚拟主机,下面是笔者的 脚本 文件供各位参考,代码如下:

#!/usr/bin/php -q 
	read() ) ){ 
	        if( $conf_file == "." ) continue; 
	        if( $conf_file == ".." ) continue; 
	        if ( is_file( $confs_dir->path ."/". $conf_file) ) { 
	            $confs_list[$count++] =  $conf_file; 
	        } 
	    } 
	    echo "Select a site by number which to delete:\n"; 
	    if( count( $confs_list ) >0 ) 
	        foreach ( $confs_list as $k=>$v ){ 
	            echo "{$k}. $v\n"; 
	        } 
	    $index = trim(fgets(STDIN)); 
	    if( in_array ( $index,array_keys( $confs_list ) ) ){ 
	        copy(  $confs_dir->path ."/". $confs_list[$index],"/etc/nginx/backup/{$confs_list[$index]}" ); 
	        unlink ( $confs_dir->path ."/". $confs_list[$index] ); 
	        exec("tar -zcf  /home/sites/{$confs_list[$index]}.tar.gz /home/sites/".$confs_list[$index] ); 
	        exec("rm -Rf /home/sites/".$confs_list[$index]); 
	    }  
	    //删除指定配置,并保存备份 
	} 
	else if( $operate == 3 ) { 
	    exit; 
	} 
	else { 
	 exit ("No Operation Selected!"); 
	} 
登录后复制

下面是nginx的配置模版,代码如下:

server { 
	listen 80; 
	server_name {$domain}; 
	access_log /var/log/nginx/{$domain}_access_log; 
	error_log /var/log/nginx/{$domain}_error_log; 
	root {$path}; 
	#不记录对站点图标访问 
	location = /favicon.ico { 
	log_not_found off; 
	access_log off; 
	} 
	#不记录对robots.txt的访问 
	location = /robots.txt { 
	allow all; 
	log_not_found off; 
	access_log off; 
	} 
	location = / { 
	try_files @proxy; 
	} 
	location / { 
	index index.htm index.html index.php; 
	try_files \$uri @proxy; 
	} 
	#匹配html 
	location ~* \.(html|htm)$ { 
	expires 30s; 
	gzip off; 
	add_header Content-Encoding gzip; 
	try_files \$uri \$uri/ /wp-content/cache/supercache/\$http_host/\$request_uri/index.html.gz @proxy; 
	} 
	#匹配图片、脚本文件等 
	location ~* \.(jpe?g|gif|png|ico|css|js|flv|swf|avi|zip|rar|svg|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mp3)$ { 
	expires 30d; 
	} 
	#传递给apache 
	location @proxy { 
	index index.htm index.html index.php; 
	proxy_pass   http://127.0.0.1:81; 
	include /etc/nginx/proxy.conf; 
	} 
	}
登录后复制

永久地址:

转载随意~请带上教程地址吧^^

09-09 06:08