下文整理了一段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; } }
登录后复制
永久地址:
转载随意~请带上教程地址吧^^