2016-04-05 6 views
0

CentOS 7でNginxを設定しています。コマンドでnginxを実行できますが、サービスではnginxを実行できます。私はどんな助けにも感謝します。コマンドNginx Not Portがサービスとして実行されているときにリッスンします

実行nginxのをlはポートがリスニングして見ることができました

$ sudo nginx 

リットルとnginxのを開始し、L'成功しオオヤマネコとnginxのために接続されてまし。 lはsystemdに

$ sudo systemctl start nginx 

何も通じnginxのを開始聞いている

$ netstat -nap | grep 8000 
(No info could be read for "-p": geteuid()=1000 but you should be root.) 
tcp  0  0 0.0.0.0:8000   0.0.0.0:*    LISTEN  -     

同様のwgetではありません問題、

しかしsystemdに通じ

$ wget http://127.0.0.1:8000 
--2016-04-05 13:33:01-- http://127.0.0.1:8000/ 
Connecting to 127.0.0.1:8000... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: unspecified [text/html] 
Saving to: ‘index.html.2’ 

    [ <=>                     ] 11   --.-K/s in 0s  

2016-04-05 13:33:01 (1.53 MB/s) - ‘index.html.2’ saved [11] 

ランNginxは、ポート8000​​上。

$ netstat -nap | grep 8000 
(No info could be read for "-p": geteuid()=1000 but you should be root.) 

これは

$ wget http://127.0.0.1:8000 
--2016-04-05 13:34:52-- http://127.0.0.1:8000/ 
Connecting to 127.0.0.1:8000... failed: Connection refused. 

L'は、設定ファイルがあり

Apr 5 12:57:24 localhost systemd: Starting The NGINX HTTP and reverse proxy server... 
Apr 5 12:57:24 localhost nginx: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 
Apr 5 12:57:24 localhost nginx: nginx: configuration file /etc/nginx/nginx.conf test is successful 
Apr 5 12:57:24 localhost systemd: Failed to read PID from file /var/run/nginx.pid: Invalid argument 
Apr 5 12:57:24 localhost systemd: Started The NGINX HTTP and reverse proxy server. 

、エラーログ(/var/log/nginx/error.log)をチェックしましwgetの結果でありますテストに合格しました

$ sudo nginx -t 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 
nginx: configuration file /etc/nginx/nginx.conf test is successful 

これはメイン設定ファイルです

$ cat /etc/nginx/nginx.conf 
user nginx; 
worker_processes auto; 

error_log /var/log/nginx/error.log debug; 
pid  /var/run/nginx.pid; 


events { 
    worker_connections 1024; 
} 


http { 
    include  /etc/nginx/mime.types; 
    default_type application/octet-stream; 

    log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
         '$status $body_bytes_sent "$http_referer" ' 
         '"$http_user_agent" "$http_x_forwarded_for"'; 

    access_log /var/log/nginx/access.log main; 

    sendfile  on; 
    #tcp_nopush  on; 

    keepalive_timeout 65; 

    #gzip on; 

    include /etc/nginx/conf.d/*.conf; 
} 

これは、nginxの設定ファイルである/etc/nginx/conf.d/test_nginx.conf

# the upstream component nginx needs to connect to 
upstream django { 
    server 0.0.0.0:8001; 
} 

# configuration of the server 
server { 
    # the port your site will be served on 
    listen  8000; 

    # the domain name it will serve for 
    server_name 0.0.0.0; # substitute your machine's IP address or FQDN 
    charset  utf-8; 

    # max upload size 
    client_max_body_size 75M; # adjust to taste 

    location /static { 
     alias /src/frontend/DjangoServer/static; 
    } 

    # Finally, send all non-media requests to the Django server. 
    location/{ 
     uwsgi_pass django; 
     include  /src/frontend/DjangoServer/uwsgi_params; # the uwsgi_params file you installed 
    } 
} 

これはおそらく、SELinuxがnginxのは、/ etc /下のconfigsを読むことを許可されていないnginxのにsystemd設定ファイル

$ cat /etc/systemd/system/nginx.service 
[Unit] 
Description=The NGINX HTTP and reverse proxy server 
After=syslog.target network.target remote-fs.target nss-lookup.target 

[Service] 
Type=forking 
PIDFile=/var/run/nginx.pid 
ExecStartPre=/usr/sbin/nginx -t 
ExecStart=/usr/sbin/nginx 
ExecReload=/bin/kill -s HUP $MAINPID 
ExecStop=/bin/kill -s QUIT $MAINPID 
PrivateTmp=true 

[Install] 
WantedBy=multi-user.target 

答えて

0

ですnginx/sites-enabled /、別のサイトから設定をコピーするときも同じ問題がありました。

chcon -R -t httpd_config_t /etc/nginx 

を修正する必要があります。/var/log/auditをチェックして、SELinuxに関連するその他の問題がないか確認してください。