OS:Funtoo。 NGINXをポート81にバインドし(移行を容易にするために、Apacheサーバーと一緒に短時間実行したい)、ポートでリッスンします(別のポートをポイントすると、wgetを使用して「接続が拒否されました」と表示されます。しかし、ポート81を使用すると「接続」されます)が、それはいかなる種類のHTML応答も提供しません!
ローカルホストからポートでwgetを実行すると、次のようになります。
# wget localhost:81
-2014-04-16 23:56:45- http://localhost:81/
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:81... connected.
HTTP request sent, awaiting response...
別のコンピューターで...
$ wget 192.168.18.42:81
-2014-04-16 23:57:19- http://192.168.18.42:81/
Connecting to 192.168.18.42:81... connected.
HTTP request sent, awaiting response...
その後は何も起こりません。ドキュメントが存在し、それは通常のFuntoo nginx.confです。
更新:ポート80をリッスンすることはできますが、どのポートでも機能しないので、まだガタガタしています。
netstat -aWn | grep 81 | grep LISTEN
tcp 60 0 0.0.0.0:81 0.0.0.0:* LISTEN
編集:構成ファイル:
user nginx nginx;
worker_rlimit_nofile 6400;
error_log /var/log/nginx/error_log info;
events {
worker_connections 1024;
use epoll;
}
http {
include /etc/nginx/mime.types;
# This causes files with an unknown MIME type to trigger a download action in the browser:
default_type application/octet-stream;
log_format main
'$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';
client_max_body_size 64m;
# Don't follow symlink if the symlink's owner is not the target owner.
disable_symlinks if_not_owner;
server_tokens off;
ignore_invalid_headers on;
gzip off;
gzip_vary on;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js image/x-icon image/bmp;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
index index.html;
include /etc/nginx/sites-enabled/*;
}
サーバーブロック:
server {
listen *:81;
root /usr/share/nginx/html;
location / {
index index.html;
}
}
大きな問題が判明? Nginxはworker_processesを0に設定していました。nginx.confの上部にauto
を設定する行を追加しました。
時間と忍耐をありがとうございました。
次のサーバーブロックを試してください。
server {
listen 81 default_server;
server_name _;
root /usr/share/nginx/html;
location / {
index index.html;
}
}
アンダースコア_
はワイルドカードです。また、*:81
は期待どおりに動作しない可能性があります。ポート番号を使用してください。
次に、nginx -t
を使用して設定をテストします。
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Nginxを再起動します。
service nginx restart
Netstatでテストします。
root@gitlab:~# netstat -napl | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7903/nginx
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 2662/Unicorn.
更新
テストシステムにnginxをインストールしました。ストックnginx.conf
ファイルと1行を/etc/nginx/sites-enabled/default
に変更すると、ポート81からファイルを取得できました
cat /etc/nginx/sites-enabled/default
server {
listen 81;
server_name localhost;
root /usr/share/nginx/www;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
deny all;
}
}
Netstatの出力:
netstat -napl | grep 81
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 3432/nginx
ダウンロードファイル:
$ wget localhost:81
ファイルの内容:
$ cat index.html
<html>
<head>
<title>Welcome to nginx!</title>
</head>
<body bgcolor="white" text="black">
<center><h1>Welcome to nginx!</h1></center>
</body>
</html>
pdate2
テストポート:
root@gitlab:# nc -vz localhost 81
Connection to localhost 81 port [tcp/*] succeeded!
root@gitlab:# nc -vz localhost 443
nc: connect to localhost port 443 (tcp) failed: Connection refused