php管理nginx虚拟主机shell脚本,nginxshell
php管理nginx虚拟主机shell脚本,nginxshell
使用php作为shell脚本是一件很方便的事情。理所当然,我们可以使用php脚本来管理 nginx虚拟主机,下面是笔者的 脚本 文件供各位参考
代码如下 复制代码
#!/usr/bin/php -q
start: fwrite(STDOUT,"===========Vhost Script===========\n");
fwrite(STDOUT,"= Choose an operation \n");
fwrite(STDOUT,"= 1.Create 2.Delete 3.Exit\n");
fwrite(STDOUT,"==================================\n");
$operate = trim(fgets(STDIN));
if ( $operate == 1 ){
fwrite(STDOUT,"Please Enter a Domain Name:");
$domain = trim(fgets(STDIN));
$path = "/home/sites/{$domain}";
$nginx_conf = "/etc/nginx/sites/{$domain}";
$nginx_template = "/etc/nginx/template/site_conf";
$apache_conf = "/etc/httpd/conf/httpd.conf";
$conf_str = "";
//变量初始化
if( file_exists($path ) ) exit ("Domain Existed!\n");
else mkdir($path,0700);
if(file_exists($nginx_conf)) exit ("Nginx Config file existed!\n");
else {
$conf_str = file_get_contents( $nginx_template );
}
//目录检测及配置文件拷贝
eval ( "\$conf_str = \"$conf_str\";" );
$succes = file_put_contents($nginx_conf,$conf_str);
if( !$succes ) exit ("Write Config File Fauile!");
else echo "Create Vhost success!\n";
goto start;
//写入配置文件
}
else if ($operate == 2){
$confs_dir = dir("/etc/nginx/sites");
$confs_list = array();
$count = 0;
while ( false !== ( $conf_file = $confs_dir->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 )
for(www.111cn.net)each ( $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;
}
}
from:http://www.111cn.net/phper/php-cy/68199.htm
你这个是默认的虚拟主机。
比如你的服务器ip地址是10.10.10.10,那么你在nginx配置里面加上
server {
server_name 10.10.10.10;
listen 80;
location / {
rewrite (.*) http://你要跳转的域名;
}
}
重启一下你的nginx就可以了。
这个可以安装织梦的....你如果要在自己本地配置lnmp 直接安装一个phphow 就行了,一键式的。安装过程中记下数据就行了,完了看一下说明文档就会用了..只要你有基础。
也可以直接把织梦安装在虚拟主机上...前提是你不需要在本地调试,要知道织梦只是一个CMS 你得设计模板,设计网页。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

寶塔面板是一款非常優秀的Linux系統下伺服器管理面板,它擁有強大的功能和友善的介面,可以幫助使用者輕鬆管理伺服器。在使用寶塔面板的過程中,有時候需要對虛擬主機進行限速操作,以確保伺服器的穩定性和流暢性。本文將介紹如何透過寶塔面板進行虛擬主機的限速設置,以達到良好的使用者體驗。一、限速概述限速是指主機頻寬進行限制,透過控制主機流量來確保伺服器的正常運作。在

Gin框架是一個輕量級的網頁框架,它提供了快速建立網頁應用程式所需的基本功能。 Gin框架具有靈活、高效、可擴展的特點,因此廣泛應用於互聯網領域。其中,Gin框架的虛擬主機與網域名稱綁定功能,是其它Web框架所不具備的重要特性,本文將對此功能進行詳細介紹。一、什麼是虛擬主機?虛擬主機是在一台實體主機上建立多個獨立的、互相隔離的虛擬主機,每個虛擬主機都有自己獨

PHP如何對接騰訊雲端伺服器ECS實現雲端虛擬主機部署引言:隨著雲端運算的快速發展,越來越多的企業和開發者選擇將應用程式部署到雲端伺服器上,以獲得更好的彈性、安全性和可伸縮性。本文將介紹如何使用PHP與騰訊雲端雲端伺服器ECS(ElasticComputeService)進行對接,並實現雲端虛擬主機的部署。步驟1:建立騰訊雲端伺服器ECS實例首先,我們需要在騰訊雲

國外免費php虛擬主機有DreamHost、Bluehost、Hostinger、000Webhost、FreeHostia、Zymic、ByetHost和SiteGround。

在網路時代,虛擬主機是一個非常受歡迎的服務,它可以讓使用者擁有自己的網站並輕鬆地進行管理。但是,在使用虛擬主機時,安全性問題也必須引起我們的重視。針對這種情況,寶塔面板給了一個很好的解決方案,可以幫助我們更好地保護虛擬主機的安全。本文將介紹如何透過使用寶塔面板進行虛擬主機的安全防護。一、設定登入密碼和連接埠在使用寶塔面板前,第一步就要設定一個安全的登入密碼。預設的

Nginx如何實現基於網域名稱的虛擬主機配置,需要具體程式碼範例Nginx是一款高效能的HTTP和反向代理伺服器,提供了靈活的設定選項來實現基於網域名稱的虛擬主機配置。在本篇文章中,我們將詳細介紹如何設定Nginx來實現基於網域名稱的虛擬主機,並提供具體的程式碼範例。首先,我們需要在Nginx的設定檔中新增虛擬主機的設定區塊。在Ubuntu系統上,預設的設定檔路徑為/et

Nginx虛擬主機優化配置,提升網站效能和使用者體驗引言:如今,隨著網路的不斷發展,網站的訪問量也越來越大。而作為網站的入口,Nginx的最佳化配置對於提升網站效能和使用者體驗起著至關重要的作用。本文將介紹一些Nginx虛擬主機最佳化配置的方法,並附帶程式碼範例,讓您更能理解和應用。一、虛擬主機的配置虛擬主機是Nginx中的重要概念,透過虛擬主機的配置,我們可

如何使用Nginx實現基於網域名稱和路徑的虛擬主機設定引言:在網路應用開發中,經常需要設定多個虛擬主機來提供不同的服務。 Nginx是一個高效能的HTTP和反向代理伺服器,透過使用Nginx,我們可以很方便地實現基於網域名稱和路徑的虛擬主機配置。本文將介紹如何使用Nginx來實現這樣的配置,並給出相應的程式碼範例。一、基於網域的虛擬主機配置在Nginx的設定檔中,使用
