Home >Backend Development >PHP Tutorial >PHP management nginx virtual host shell script, nginxshell_PHP tutorial

PHP management nginx virtual host shell script, nginxshell_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:15:59762browse

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

nginx virtual host problem

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.

My virtual host space supports linux+nginx+mysql+php (referred to as lnmp); can the DreamWeaver system be installed?

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.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/899446.htmlTechArticlephp manages the nginx virtual host shell script. nginxshell It is very convenient to use php as the shell script. Of course, we can use php scripts to manage nginx virtual hosts, next...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:PHP curl_PHP tutorialNext article:PHP curl_PHP tutorial