微信票选项目遇到的坑

第一次带微信的项目,遇到好多坑,整理一下,提醒自己和大家以后尽量避免再掉入相同的坑,哈哈。

 

1.微信公众平台->公众号设置->功能设置 里面的业务域名js接口安全域名每月只能修改3次!

  业务域名:

    设置业务域名后,在微信内访问该域名下页面时,不会被重新排版。用户在该域名上进行输入时,不出现防盗的安全提示。

  js接口安全域名:

    设置JS接口安全域名后,公众号开发者可在该域名下调用微信开放的JS接口。

  这里要注意,这两项每一项都可以设置3个域名,但是所谓的每个月能修改3次是两项加一起能修改3次,而不是每项都能修改3次。

2.参赛人报名的时候需要上传图片,大的图片上传失败!

  在测试服务器上没有发现次问题,一到正式环境,超过1M的图片都会上传失败。

  经过各种找,发现原来是Nginx的配置问题,Nginx模式配置限制了上传文件的大小为1Mb,所以修改nginx.conf就OK了。

  在http{}对象中添加属性:client_max_body_size 20M;

3.通过域名访问页面无法读取js和css文件,并报ERR_CONTENT_LENGTH_MISMATCH错误,但是通过ip访问没问题!

  问题描述跟这个哥们一样,但解决方案跟他有所不同,直接关闭了nginx的缓存。应该有更好的解决办法,但是按各种帖子都没有解决问题。

  设置 proxy_buffering off;

  

server {
        listen       80;
        server_name  xxx.xxx.com;
        location / {
            root   html;
            index  index.html index.htm;
            proxy_buffering off;
            proxy_pass http://vote.hunpar.com;
            proxy_next_upstream error  invalid_header http_500 http_503 http_404;
        }
        error_page   500 502 503 504  /50x.html;
        #location = /50x.html {
        #    root   html;
        #}
        location ~ .*/\.(css|js)$ {
                add_header Cache-Control 'no-store';
        }

    }

4.数据库连接数过几个小时就满了,没有及时释放!

  照理说按照Mybatis模式设置不会有此问题,但是。。。哈哈,还是没配置对。

  在jdbc.properties里添加属性:

#初始化连接-
jdbc.initialSize=10
#最大连接数量
jdbc.maxActive=200
#最小空闲连接
jdbc.minIdle=10
#最大空闲连接
jdbc.maxIdle=20
#是否自动回收超时连接
jdbc.removeAbandoned=true
#超时时间(以秒数为单位)
jdbc.removeAbandonedTimeout=60
#超时等待时间以毫秒为单位 6000毫秒/1000等于60秒
jdbc.maxWait=3000

  在spring.xml里添加配置

<!-- 配置用户库DataSource数据源-->
    <bean id="ali_dataSource" class="org.apache.commons.dbcp.BasicDataSource"   destroy-method="close">
        <property name="driverClassName" value="${jdbc.driver}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.user}" />
        <property name="password" value="${jdbc.password}" />
        <!--initialSize: 初始化连接-->
        <property name="initialSize" value="${jdbc.initialSize}" />
        <!--maxIdle: 最大空闲连接-->
        <property name="maxIdle" value="${jdbc.maxIdle}" />
        <!--minIdle: 最小空闲连接-->
        <property name="minIdle" value="${jdbc.minIdle}" />
        <!--maxActive: 最大连接数量-->
        <property name="maxActive" value="${jdbc.maxActive}" />
        <!--removeAbandoned: 是否自动回收超时连接-->
        <property name="removeAbandoned" value="${jdbc.removeAbandoned}" />
        <!--removeAbandonedTimeout: 超时时间(以秒数为单位)-->
        <property name="removeAbandonedTimeout" value="${jdbc.removeAbandonedTimeout}" />
        <!--maxWait: 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒-->
        <property name="maxWait" value="${jdbc.maxWait}" />
        <property name="validationQuery"><value>SELECT 1</value></property>
        <property name="testOnBorrow"><value>true</value></property>
    </bean>

就OK了。

 

整理到此,大家如遇相同问题,希望可以有所帮助,有更好的解决方案希望大家留言,一起研究讨论。

 

posted on 2015-12-17 17:06  TreeJohn  阅读(345)  评论(0编辑  收藏  举报

导航