


php manages nginx virtual host shell script, nginxshell
It is very convenient to use php as a shell script. Of course, we can use php scripts to manage nginx virtual hosts. Below is the author’s script file for your reference
Copy the code as follows
#!/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 = "";
//Variable initialization
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 );
}
//Directory detection and configuration File copy
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;
//Write configuration file
}
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]);
}
//Delete the specified configuration and save the backup
}
else if( $operate == 3 ) {
exit;
}
else {
exit ("No Operation Selected!");
}?> ;
The following is the configuration template of nginx
Copy the code as follows
server {
listen 80;
server_name {$domain};
access_log /var/log/nginx/{$domain}_access_log;
error_log /var /log/nginx/{$domain}_error_log;
root {$path};
#Do not log access to site icons
location = /favicon.ico {
log_not_found off;
access_log off;
}
#Do not log access to 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;
}
#Match 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;
}
#Match images, script files, etc.
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;
}
#Passed to 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
This is your default virtual host.
For example, if your server IP address is 10.10.10.10, then you add
server {
server_name 10.10.10.10;
listen 80;
location / {
in the nginx configuration rewrite (.*) http://domain name you want to redirect;
}
}
Just restart your nginx.
This can be used to install DreamWeaver.... If you want to configure lnmp locally, just install phphow, it's one-click. Just write down the data during the installation process. After reading the documentation, you will be able to use it...as long as you have the basics.
You can also install Dreamweaver directly on the virtual host... The premise is that you do not need to debug locally. You must know that Dreamweaver is just a CMS. You have to design templates and web pages.

宝塔面板是一款非常优秀的Linux系统下服务器管理面板,它拥有强大的功能和友好的界面,可以帮助用户轻松管理服务器。在使用宝塔面板的过程中,有时候需要对虚拟主机进行限速操作,以保证服务器的稳定性和流畅性。本文将介绍如何通过宝塔面板进行虚拟主机的限速设置,以达到良好的用户体验。一、限速概述限速是指对主机带宽进行限制,通过控制主机流量来保证服务器的正常运行。在

Gin框架是一个轻量级的Web框架,它提供了快速构建Web应用程序所需的基本功能。Gin框架具有灵活、高效、可扩展的特点,所以被广泛应用于互联网领域。其中,Gin框架的虚拟主机和域名绑定功能,是其它Web框架所不具备的重要特性,本文将对该功能进行详细介绍。一、什么是虚拟主机?虚拟主机是在一台物理主机上创建多个独立的、互相隔离的虚拟主机,每个虚拟主机都有自己独

国外免费php虚拟主机有DreamHost、Bluehost、Hostinger、000Webhost、FreeHostia、Zymic、ByetHost和SiteGround。

在互联网时代,虚拟主机是一个非常流行的服务,它可以让用户拥有自己的网站并轻松地进行管理。但是,在使用虚拟主机时,安全问题也必须引起我们的重视。针对这种情况,宝塔面板给出了很好的解决方案,可以帮助我们更好地保护虚拟主机的安全。本文将介绍如何通过使用宝塔面板进行虚拟主机的安全防护。一、设置登录密码和端口在使用宝塔面板前,第一步就要设置一个安全的登录密码。默认的

PHP如何对接腾讯云云服务器ECS实现云端虚拟主机部署引言:随着云计算的快速发展,越来越多的企业和开发者选择将应用程序部署到云服务器上,以获得更好的弹性、安全性和可伸缩性。本文将介绍如何使用PHP与腾讯云云服务器ECS(ElasticComputeService)进行对接,实现云端虚拟主机的部署。步骤1:创建腾讯云云服务器ECS实例首先,我们需要在腾讯云

Nginx如何实现基于域名的虚拟主机配置,需要具体代码示例Nginx是一款高性能的HTTP和反向代理服务器,提供了灵活的配置选项来实现基于域名的虚拟主机配置。在本篇文章中,我们将详细介绍如何配置Nginx来实现基于域名的虚拟主机,并提供具体的代码示例。首先,我们需要在Nginx的配置文件中添加虚拟主机的配置块。在Ubuntu系统上,默认的配置文件路径为/et

如何使用Nginx实现基于域名和路径的虚拟主机配置引言:在网络应用开发中,经常需要配置多个虚拟主机来提供不同的服务。Nginx是一个高性能的HTTP和反向代理服务器,通过使用Nginx,我们可以很方便地实现基于域名和路径的虚拟主机配置。本文将介绍如何使用Nginx来实现这样的配置,并给出相应的代码示例。一、基于域名的虚拟主机配置在Nginx的配置文件中,使用

Nginx虚拟主机优化配置,提升网站性能和用户体验引言:如今,随着互联网的不断发展,网站的访问量也越来越大。而作为网站的入口,Nginx的优化配置对于提升网站性能和用户体验起着至关重要的作用。本文将介绍一些Nginx虚拟主机优化配置的方法,并附带代码示例,让您更好地理解和应用。一、虚拟主机的配置虚拟主机是Nginx中的一个重要概念,通过虚拟主机的配置,我们可


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.
