开发问题总结

#nginx内网可以访问,但自己电脑浏览器就请求不到

排查防火墙,换一个浏览器

#请求服务但nginx中没有请求的日志

排查防火墙

若存在ip或端口映射,必然是ip或端口映射错误,导致请求打到其他服务器上了

#同样的内容base64加密出来的不一样

python的字符串感觉存在自动格式化的机制,如{'a':1,'b':2},可能会格式化为{'a': 1, 'b': 2}。多一个空格base64的编码就不同,但不能就编码不同这单一条件评判加密错误,因为只是样式改变,并没有改变内容本意。

#SSLError: HTTPSConnectionPool(host='1.1.1.1', port=443): Max retries exceeded with url: /api/test (Caused by SSLError(SSLError(1, u'[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:730)'),))

如存在ip或端口映射,可能是ip或端口映射错误,导致请求打到其他服务器监听443的应用系统上了。

#SSLError: HTTPSConnectionPool(host='1.1.1.1', port=443): Max retries exceeded with url: /api/test (Caused by SSLError(CertificateError("hostname '1.1.1.1' doesn't match u'2.2.2.2'",),))

被请求的服务器ip为1.1.1.1,其证书错误配置成了2.2.2.2,导致请求头中ip与证书绑定ip不匹配

#top N问题

top关键词仅sql server和access支持,mysql不支持。

mysql使用limit关键词:

        limit n        返回前n条

        limit n,m        分页:n=第几页*m,m=每页记录数

【搭建web项目】

Uwsgi.ini中socket = 0.0.0.0:7125

Nginx.conf中:

server {

    listen       443;

    server_name  192.168.124.78或者localhost;

    location / {

        include uwsgi_params;

        uwsgi_pass 0.0.0.0:7125;

    }

}

【nginx使用gunicorn+国密的写法】

server {

    listen       5000 ssl;

server_name  localhost;

access_log logs/$http_user_agent main;

    ssl_verify_client on;

    ssl_certificate         /root/tasscard_engine/tassl/tassl_demo/cert/certs/SS.crt;

    ssl_certificate_key     /root/tasscard_engine/tassl/tassl_demo/cert/certs/SS.key;

    ssl_enc_certificate     /root/tasscard_engine/tassl/tassl_demo/cert/certs/SE.crt;

ssl_enc_certificate_key /root/tasscard_engine/tassl/tassl_demo/cert/certs/SE.key;

    # client use the soft cert

    ssl_client_certificate  /root/tasscard_engine/tassl/tassl_demo/cert/certs/CA.crt;

    ssl_session_cache    shared:SSL:1m;

    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;

    ssl_prefer_server_ciphers  on;

    client_max_body_size     5000m;

    location / {

        limit_req zone=one burst=100000 nodelay;

        proxy_set_header X-SSL-Cipher $ssl_cipher;

        proxy_set_header X-SSL-Client-Cert $ssl_client_cert;

        proxy_set_header X-SSL-Client-Serial $ssl_client_serial;

        proxy_set_header X-SSL-Client-S-DN $ssl_client_s_dn;

        proxy_set_header X-SSL-Client-I-DN $ssl_client_i_dn;

        proxy_set_header X-SSL-Client-addr $remote_addr;

        proxy_pass http://192.168.110.18:6125;

    }

}

【常见错误】

400get或post请求错误,或者少传参数

502nginx配置有问题,或者请求超时

【网络服务器】

Java多用tomcat,python多用nginx

Python多uwsgi/gunicorn配合nginx使用,如果不通过nginx监听端口,直接链接请求uwsgi服务端口是无效的,访问效果如下:

【uwsgi启动】

uwsgi应该是pip安装,而不是yum

【python安装依赖包报错】

末尾加上:-i http://pypi.mirrors.ustc.edu.cn/simple --trusted-host pypi.mirrors.ustc.edu.cn

【离线rpm包下载命令】

##python离线安装外部依赖包

 1.制作requirement.txt

pip3 freeze > requirement.txt

内网安装外部依赖包办法:

例如:安装pytest包得时候会顺带安装pytest依赖包

离线下载安装包
单个离线包

pip3 download -d your_offline_packages <package_name>
批量离线包

pip3 download -d your_offline_packages -r requirements.txt


 离线安装单个离线包

pip3 install --no-index --find-links=/your_offline_packages/ package_name
批量离线包

pip3 install --no-index --find-links=/your_offline_packages/ -r requirements.txt

【离线安装包下载】

在项目目录下

pip3 freeze >requirements.txt

pip3 download -r requirements.txt -d /home/offlinePackages/

pip3 install --no-index --find-links=/home/offlinePackages/ -r requirements.txt

例如:下载gcc版本9

yum -y install centos-release-scl --downloadonly --downloaddir=./

yum localinstall *.rpm -y

先安装centos-release-scl后才能下载devtoolset等

例如:yum -y install python包名 --downloadonly --downloaddir=./

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils --downloadonly --downloaddir=./

【linux查看kafka消费情况】

查看消费组(注意:localhost有时不可以,需要改为具体ip地址)

./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list

查看具体消费组的情况

./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group groupname(替换成上边命令查到消费组id)

【查看topic】

sh kafka-topics.sh --list --bootstrap-server localhost:6131

【将uwsgi换成gunicorn的原因】

Flask框架跟uwsgi兼容性不好,无法通过nginx给http头部添加字段

使用flask框架时,Uwsgi无法和kafka建立长链接

【离线部署注意事项】

依赖环境,依赖包

软件安装及使用方式:命令行,参数,输入步骤,结果展示

文件传输工具(如xftp,bitvise等)连接服务器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值