2017-06-29 28 views
0

Windows 10の新しいインストールを実行しています。 PHP用のローカルテスト環境を作成する必要があります。以前はUbuntu LinuxでNginX/PHPサーバーをセットアップして実行しましたが、Windowsでは使用できません。 Windows用のNginXとPHPバイナリをインストールしました。私のPHPがWindows 10上でNginXで自動起動しないのはなぜですか?

私が起動し、ログインした後、もし私のCD C:\nginxへとnginx.exeを実行し、nginxのサーバーが起動し、正常に動作し、私はhttp://127.0.0.1で「ようこそnginxのに」画面を取得します。

次に、C:\nginx\phpにcdしてphp-cgi.exe -b 127.0.0.1:9000 -c c:/nginx/php/php.iniを実行すると、PHPサーバーが実行され、http://127.0.0.1/php.infoにアクセスしてphp_info();の出力を得ることができます。だから、それはすべてが大丈夫インストールされているようです。

私の目標は、マシンを起動するときにPHPサーバを自動起動させることです。 Non-Sucking Service Managerをダウンロードし、管理者モードでコマンドプロンプトを開き、nssm edit nginxを実行しました。 nginxのは、ように見える一方で、

nssm php application

nssm php details

しかし:私はPHPのために同じことをやった

nssm nginx applicationその後

nssm nginx details

次のように私は、画面を記入しました起動時に起動する、PHPは起動しない。起動後、手動でコマンドラインで何も起動しなくても、NginXのようこそ画面が表示されます。

Firefoxは127.0.0.1で、サーバーへの接続を確立することはできません

接続することができません:私は、PHPの情報ページを表示しようとする場合は、私は、次のメッセージが表示されます。

起動時にPHPを自動起動する方法を教えてください。

これは私のnginx.confファイルです:

worker_processes 1; 

events { 
    worker_connections 1024; 
} 

http { 
    include    mime.types; 
    default_type  text/html; 
    sendfile   on; 
    keepalive_timeout 65; 

    server { 

     #Uncomment and edit the line below if you want to use a custom domainname 
     #server_name your.domain.com; 

     listen   80; 
     root   c:/nginx/html; 

    location ~ .php$ { 
     root html; 
     fastcgi_pass 127.0.0.1:9000; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME c:/nginx/html/$fastcgi_script_name; 
     include fastcgi_params; 
    } 
    } 
} 

答えて

1

あなたnginx.confはOKらしいです。私はnginxのウェルカムページを信用しないだろうしかし

...、nginxのは、ブート時に起動しているように見える一方で...

、それが最も可能性の高いキャッシュから来ています。また、nssmによって開始されたnginxプロセスがない限り、サービスステータスRunningを信頼しません。

私のテストでは、nginxとphpの両方のサービスが正しく開始されていませんでした。

両方のサービスを動作させるには、AppNoConsole=1を設定する必要がありました。

According to the author(s)これはWindows 10 Creators Updateの既知の問題です。

2017年4月26日:のWindowsのユーザーは10クリエーターアップデートはサービスが開始に失敗して問題を回避するためにprelease ビルド2.2.4-101を使用する必要があります。何らかの理由で を使用できない場合は、 AppNoConsole = 1をレジストリに設定して、 コンソールウィンドウが予期せず動作することが予想されるアプリケーションを指摘します。

この設定はNSSM Service Editor GUI > Process > Console windowで変更できます。チェックボックスをオフにして、[サービスの編集]をクリックします。完了しました。

コマンドでも同じ操作を行うことができます。

net stop php 
net stop nginx 

nssm set php AppNoConsole 1 
nssm set nginx AppNoConsole 1 

net start nginx 
net start php 
関連する問題