运行pythonweb程序在nginx 启动后 80 端口无法访问,pythonwebnginx,环境:阿里云 cento
运行pythonweb程序在nginx 启动后 80 端口无法访问,pythonwebnginx,环境:阿里云 cento
环境:阿里云 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; }}
因为你设置了 server_name ,所以nginx只监听域名,不监听ip。换句话说,nginx不知道自己的外网ip,它会从配置文件中获得信息。
简单的解决办法是删除 server_name 。
也可以这样 server_name 1.1.1.1 www.kaoshixing.com; 只是这样就不能泛域名解析了。
看你这http和https都配置了相同的server_name。 试试看将80端口也配置到https中,看看行不行
server {
listen 80;
listen 443 ssl;
......
}
有试过nginx -t检查配置文件是否正确么
因为你在所有server块都设置了server_name,当浏览器访问时,nginx会一个个匹配server_name,如果都不匹配(用ip访问),nginx就会使用default_server,但你没设置default_server,问题可能就出在这,把一个server块改成这样试试?
server { listen 80 default_server; server_name www.kaoshixing.com;
(还有就是80端口可能被其他程序占用着)
确认下是配置问题导致nginx起不来 还是外网telnet 80不通。我遇到的一般是防火墙设置的或者80被默认vps装的apache占用。
国内云厂商的80端口都需要备案才能放通的。
另外单独检查一下安全组策略和VPC的防火墙什么的。
考虑阿里云的安全策略以及CentOS7的防火墙策略.
CentOS7默认是不开放80端口的.
编橙之家文章,
相关内容
- virtualenv创建项目可以指定python版本号吗?如何指定,v
- Python能随即生成中文字符的验证码吗?,,用Python 随机产
- Mac Python MySQLdb库遇到的一些问题,pythonmysqldb,第一次执
- vim有自动补齐括号及引号功能吗,vim补齐括号引号,如题
- Python清空数组什么方法好,python清空数组,我有一个变量
- 遇到python编码问题怎么样确保能输出中文['\xe9\x9f\xb3\
- 支持url批量发post请求的python工具是什么?,urlpython,有个
- PHP程序员学Java和Python哪个好,程序员javapython,现在使用
- 只有Python与SQL的基础知识能做网站后台搭建工作吗,
- 求本地测试微信公众平台的Python方法,信公众平台pyt
评论关闭