nginx: worker_processes ディレクティブが機能しない

nginx: worker_processes ディレクティブが機能しない

nginx でワーカー プロセスを設定しようとしましたが、次のエラーが発生します。

nginx: [emerg] /etc/nginx/sites-enabled/default:1 では "worker_processes" ディレクティブは許可されていません nginx: 設定ファイル /etc/nginx/nginx.conf のテストに失敗しました

これが私のコードです

worker_processes 4;
worker_rlimit_nofile 8192;
worker_priority 0;
worker_cpu_affinity
0001 0010 0100 1000;

server {
    server_name --.--.--.---;
    listen 80;


    #root /var/www/devsites/wordpress/;
    root /var/www/devsites/trademob/tm-hp-v2/;

この問題を解決するにはどうすればよいですか?

答え1

エラーメッセージは次の通りだと言いました:

nginx: [emerg] "worker_processes" directive is not allowed here in /etc/nginx/sites-enabled/default:1
nginx: configuration file /etc/nginx/nginx.conf test failed

/etc/nginx/nginx.confこのディレクティブを ではなく の先頭に置きます/etc/nginx/sites-enabled/defaultworker_processesディレクティブは構成の最上位レベルでのみ有効です。

worker_*使用した他のすべてのディレクティブにも同じことが当てはまります。

答え2

設定ファイルに構文エラーがあります:

worker_rlimit_
nofile 8192;

この行は誤って分割されたようです。次のように表示されるはずです:

worker_rlimit_nofile 8192;

で始まる行でも同じエラーが発生したようですworker_cpu_affinity

これを修正したら、サーバーは再び稼働するはずです。

関連情報