python - nginx 小白, nginx 启动后 80 端口无法访问
高洛峰
高洛峰 2017-04-18 10:26:02
0
7
679

环境:阿里云 centos7

flask web 应用, gunicorn 已经启动,访问ip:8888正常访问

nginx 正常启动,无法直接访问 ip ,浏览器显示: This site can ’ t be reached

我有两个配置文件conf/nginx.conf, site-enable/kaoshixing.conf,内容分别如下:

user  root;

worker_processes        auto;
# worker_cpu_affinity     auto;

error_log   /home/admin/kaoshixing/nginx/logs/error.log;
pid         /home/admin/kaoshixing/nginx/logs/nginx.pid;

worker_rlimit_nofile 65535;

events {
    use epoll;
    worker_connections  20480;
}

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

    fastcgi_intercept_errors on;

    log_format milog '$server_addr\t$hostname\t$remote_addr\t$http_x_forwarded_for\t$time_local\t$request_uri\t$request_length\t$bytes_sent\t$request_time\t$status\t$upstream_addr\t$upstream_cache_status\t$upstream_response_time\t$http_user_agent\t';

    ####full-format log for debug
    log_format debug_log '$remote_addr\t$server_addr\t$hostname\t$time_local\t$host\t$request\t$status\t$body_bytes_sent\t$http_referer\t$http_user_agent\t$http_x_forwarded_for\t$request_uri\t$request_length\t$bytes_sent\t$request_body\t$request_time\t$upstream_response_time\t$upstream_addr\t$upstream_cache_status';

    access_log  /home/admin/kaoshixing/log/nginx/access.log  milog;

    sendfile        on;
    keepalive_timeout  65;

    client_max_body_size 120m;
    server_names_hash_bucket_size 128;

    proxy_headers_hash_bucket_size 128;
    proxy_headers_hash_max_size 8192;

    proxy_connect_timeout    10;
    proxy_read_timeout       120;
    proxy_send_timeout       120;
    proxy_buffer_size        16k;
    proxy_buffers            4 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;

    gzip on;
    gzip_types application/json application/x-json text/plain application/x-javascript text/css text/javascript application/xml text/xml  image/jpeg image/gif image/png;
    gzip_proxied     expired no-cache no-store private auth;
    gzip_min_length 1k;
    gzip_buffers 16 64k;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_vary on;

    limit_req_zone $server_port zone=tp:500m rate=1700r/s;
    limit_req_zone $server_port zone=tps:500m rate=1100r/s;
    limit_req_zone $binary_remote_addr zone=tip:500m rate=100r/s;

    include /home/admin/kaoshixing/nginx/site-enable/*.conf;
}

*

upstream kaoshixing.com_backend{
       server 0.0.0.0:8888 weight=1 max_fails=2 fail_timeout=30s;
}


server {
   listen 80;
   server_name  www.kaoshixing.com;

   access_log /home/admin/kaoshixing/nginx/logs/ksxing.com.log milog;

   location / {
       proxy_set_header Host $host;
       proxy_set_header X-Forwarded-For $remote_addr;
       proxy_pass http://kaoshixing.com_backend;
   }

}

server {
       listen 443 ssl;
       server_name www.kaoshixing.com;
       access_log /home/admin/kaoshixing/nginx/logs/ksxing.com.log milog;

       ssl on;
       ssl_certificate         ssl/kaoshixing.com.crt;
       ssl_certificate_key     ssl/kaoshixing.com.key;

       ssl_session_cache  shared:SSL:80m;
       ssl_session_timeout  5m;
       ssl_protocols  SSLv2 SSLv3 TLSv1;
       ssl_ciphers RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
       ssl_prefer_server_ciphers   on;

       location / {
               proxy_set_header Host $host;
               proxy_set_header X-Forwarded-For $remote_addr;
               proxy_pass http://kaoshixing.com_backend;
               proxy_redirect http://www.kaoshixing.com https://www.kaoshixing.com;
       }

}

server {
   listen 80;
   server_name  kaoshixing.com;

   access_log /home/admin/kaoshixing/nginx/logs/ksxing.com.log milog;

   location / {
       rewrite ^(.*) http://www.$host$1 redirect;
   }

}
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(7)
刘奇

Pernahkah anda mencuba nginx -t untuk menyemak sama ada fail konfigurasi adalah betul?

小葫芦

Pastikan bahawa kedua-dua http dan https dikonfigurasikan dengan nama_pelayan yang sama. Cuba konfigurasikan port 80 ke dalam https dan lihat jika ia berfungsi
pelayan {
dengar 80;
dengar 443 ssl;
......
}

左手右手慢动作

Oleh kerana anda menetapkan server_name , nginx hanya memantau nama domain, bukan IP. Dengan kata lain, nginx tidak mengetahui IP rangkaian luarannya sendiri, ia akan mendapat maklumat daripada fail konfigurasi.
Penyelesaian mudahnya ialah membuang server_name .
Anda juga boleh melakukan ini server_name 1.1.1.1 www.kaoshixing.com; Tetapi dengan cara ini, resolusi nama pan-domain tidak boleh dilakukan.

小葫芦

Oleh kerana anda telah menetapkan nama_server dalam semua blok pelayan, apabila penyemak imbas mengakses, nginx akan memadankan nama_server satu demi satu. Jika tiada satu pun daripadanya sepadan (diakses dengan IP), nginx akan menggunakan pelayan_default, tetapi anda belum menetapkan pelayan_default. Masalah Mungkin ini masalahnya Cuba tukar blok pelayan kepada ini?

server {
   listen 80 default_server;
   server_name  www.kaoshixing.com;

(Juga, port 80 mungkin diduduki oleh program lain)

洪涛

Pertimbangkan dasar keselamatan Alibaba Cloud dan dasar tembok api CentOS7.
CentOS7 tidak membuka port 80 secara lalai.

左手右手慢动作

Sahkan sama ada masalah konfigurasi yang menyebabkan nginx gagal dimulakan atau sama ada rangkaian luaran telnet 80 disekat. Apa yang saya temui biasanya disebabkan oleh tetapan firewall atau 80 sedang diduduki oleh apache yang dipasang dalam vps lalai.

伊谢尔伦

Port 80 vendor awan domestik perlu didaftarkan sebelum mereka boleh dikeluarkan.
Semak juga dasar kumpulan keselamatan dan tembok api VPC secara berasingan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!