ホームページ >バックエンド開発 >PHPチュートリアル >PHP 管理 nginx 仮想ホスト シェル スクリプト、nginxshell_PHP チュートリアル
phpをシェルスクリプトとして使うととても便利です。もちろん、php スクリプトを使用して nginx 仮想ホストを管理することもできます。参考までに、作者のスクリプト ファイルを以下に示します。
次のコードをコピーします#!/usr/bin/php -q
start: fwrite(STDOUT,"===========Vhost Script====== = ====\n");
fwrite(STDOUT,"= 操作を選択\n");
fwrite(STDOUT,"= 1.作成 2.削除 3.終了\n");
fwrite(STDOUT , "=================================\n");
$operate = trim(fgets(STDIN) ) );
if ( $operate == 1 ){
fwrite(STDOUT,"ドメイン名を入力してください:");
$domain = トリム(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 ("ドメインが存在しました!\n");
else mkdir($path,0700);
if(file_exists($nginx_conf)) exit ("Nginx 設定ファイルが存在しました!\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 ("構成ファイルの書き込み失敗!");
else echo "Vhost の作成に成功しました!\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 "削除するサイトを番号で選択してください:\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-> ;パス ."/". $confs_list[$index],"/etc/nginx/backup/{$confs_list[$index]}" );
リンク解除 ( $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 ("操作が選択されていません!");
}?>
コードは次のとおりです コードをコピーします
server {
listen 80;
server_name {$domain};
access_log /var/log/nginx/{$domain}_access_log;
error_log /var/log/nginx/{$domain }_error_log;
#サイトへのアクセスをログに記録しないアイコン
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
すべて許可;
log_not_found オフ;
access_log オフ;
}
try_files @proxy;
}
indexindex.htmindex.htmlindex.php;
try_files\$uri@proxy;
}
location ~* \.(html|htm)$ {
有効期限 30 秒;
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)$ {
有効期限は 30 日;
}
location @proxy {
indexindex.htmindex.htmlindex.php;
proxy_passhttp://127.0.0.1:81;
include/etc/nginx/proxy.conf;
}
}
出典:http://www.111cn.net/phper/php-cy/68199.htm
たとえば、サーバーの IP アドレスが 10.10.10.10 の場合、
server {
server_name 10.10.10.10;
listen 80;
location / {
rewrite (.*) http:// nginx 設定 移管されたドメイン名;
}
}
nginx を再起動するだけです。
これは Dreamweaver のインストールに使用できます。lnmp をローカルに設定したい場合は、ワンクリックで phphow を直接インストールします。インストール プロセス中にデータを書き留めるだけで、基本事項を理解していれば、ドキュメントを読んだ後にそれを使用できるようになります。
Dreamweaver を仮想ホストに直接インストールすることもできます。前提として、Dreamweaver は単なる CMS であることを理解しておく必要があります。テンプレートと Web ページをデザインする必要があります。