欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php管理nginx虚拟主机shell脚本

程序员文章站 2022-04-15 12:34:04
...
下文整理了一段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; 
	} 
	}

永久地址:

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