Jax's Blog

Happy Coding,Happy Life


  • Home

  • About

  • Tags

  • Archives

CentOS服务器验证码乱码解决

Posted on 2018-06-23 | | Visitors:

问题描述

线上环境验证码乱码乱码,本地环境正常,判断应该是由于线上linux系统缺少字体文件造成的。验证码使用的:Times New Roman 字体。那么到本地字体文件夹找到对应的字体文件,上传到服务器中。

Linux CentOS 7 安装字体库

在CentOS 4.x开始用fontconfig来安装字体库,所以输入以下命令即可:

yum -y install fontconfig

当看到下图的提示信息时说明已安装成功:

这时在/usr/shared目录就可以看到fonts和fontconfig目录了(之前是没有的):

添加中文字体

首先在/usr/shared/fonts目录下新建一个目录chinese:

然后就是将上面的两个字体上传至/usr/shared/fonts/chinese目录下即可:

紧接着需要修改chinese目录的权限:

chmod -R 755 /usr/share/fonts/chinese

接下来需要安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件,输入命令:

yum -y install ttmkfdir

然后执行ttmkfdir命令即可:

ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir

最后一步就是修改字体配置文件了,首先通过编辑器打开配置文件:

vi /etc/fonts/fonts.conf

可以看到一个Font list,即字体列表,在这里需要把我们添加的中文字体位置加进去:

然后输入:wq保存退出,最后别忘了刷新内存中的字体缓存,这样就不用reboot重启了:

fc-cache

这样所有的步骤就算完成了,最后再次通过fc-list看一下字体列表:

可以看到已经成功安装上了中文字体,至此安装过程就全部结束,再次查看可以发现中文样式和内容均已可以正常显示了。

微信登陆本地调试

Posted on 2017-12-22 | | Visitors:

开通微信沙盒账号

  • 开通链接:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
  • 扫码登陆之后可获得微信测试接口的appid、appsecret(上线之后替换成正式的即可)。沙盒环境拥有所有微信公众号的接口权限。

配置微信登陆授权域名

  • 在接口权限表中找到 网页服务-网页帐号-修改。点击修改填写本地环境ip地址(或者本地外网映射域名,推荐使用内外网穿透工具 https://natapp.cn/#download);
Read more »

spring boot服务器部署 + nginx + https

Posted on 2017-12-20 | | Visitors:

阿里云申请CA证书

参考文案

  • 理解https

Spring Data JPA报错java.lang.StackOverflowError

Posted on 2017-11-29 | In JAVA | | Visitors:

报错信息

1
2
3
4
5
java.lang.StackOverflowError: null,   
at com.zangland.study.jpa.entity.BookDetail.hashCode(BookDetail.java:17) ~[classes/:na]
at com.zangland.study.jpa.entity.Book.hashCode(Book.java:16) ~[classes/:na]
at com.zangland.study.jpa.entity.BookDetail.hashCode(BookDetail.java:17) ~[classes/:na]
at com.zangland.study.jpa.entity.Book.hashCode(Book.java:16) ~[classes/:na]

原因是使用Lombok注解,实体bean会生成全参的toString方法,如果实体bean存在关联关系,便造成死循环。

在实体bean上加上注解

1
@ToString(exclude={"store"})

忽略不想在toString方法输出的字段便解决。

PhpStormDebug调试

Posted on 2017-11-25 | | Visitors:

出现问题

  • 调试总是断点在index.php的第一行

    点击菜单Run,在弹出菜单中取消勾选“Break at first line in PHP scripts”

org.hibernate.LazyInitializationException异常解决

Posted on 2017-08-21 | | Visitors:

异常信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:164)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:285)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185)
at com.future.entities.Card_
_javassist_1.getCardNo(Card_
_javassist_1.java)
at com.future.test.TestCRUD.testPage(TestCRUD.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

解决方式:

1、在配置文件web.xml中加入如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<filter>

<filter-name>openSessionInViewFilter</filter-name>

<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>

<init-param>

<param-name>singleSession</param-name>

<param-value>true</param-value>

</init-param>

<init-param>

<param-name>sessionFactoryBeanName</param-name>

<param-value>sessionFactory</param-value>

</init-param>

</filter>

2、在hibernate属性中添加:hibernate.enable_lazy_load_no_trans
如下:

1
<prop key="hibernate.enable_lazy_load_no_trans">true</prop>

localResizeIMG安卓手机无响应

Posted on 2017-07-22 | | Visitors:

使用LocalResizeIMG在H5端进行图片上传在安卓上遇到的问题。
在安卓机上onchange事件没有被调用问题。

原因1:

插件重新定义了file标签。所以需要重新绑定onchange事件。

原因2

file标签accept属性改为:accept=”image/*” 。 添加capture=”camera” 或者 capture=””

如何找出nginx配置文件的所在位置

Posted on 2017-07-06 | | Visitors:

有时候在操作一台陌生的nginx服务器的时候,需要知道配置文件在哪里,下面教大家一种简单的方法:

1.先找出nginx可执行文件的路径

1
ps -ef | grep nginx

图中显示的就是nginx可执行文件的路径

2.找出配置文件路径

1
/usr/local/openresty/nginx/sbin/nginx -t

这样配置文件的路径就显示出来啦~

3.加载配置。

1
/usr/nginx/sbin/nginx -s reload

阿里云服务器使用ssh密钥登陆

Posted on 2017-06-26 | | Visitors:

ssh密钥登陆相较于传统的用户名和密码认证方式,SSH 密钥对有以下特点:

  1. 仅适用于 Linux 实例。
  2. SSH 密钥对登录认证更为安全可靠。
  3. 便于远程登录大量 Linux 实例,方便管理。

什么是 SSH 密钥对

SSH 密钥对是通过一种加密算法生成的一对密钥:一个对外界公开,称为“公钥”;另一个您自己保留,称为“私钥”。

如果您已经将公钥配置在 Linux 实例中,那么,在本地或者另外一个实例中,您可以使用私钥通过 SSH 命令或相关工具登录实例,而不需要输入密码。

优势

使用 SSH 密钥对有以下优势:

  • 安全性高:
    • 密钥对安全强度远高于常规用户口令,可以杜绝暴力破解威胁。
    • 不可能通过公钥推导出私钥。
    • 易用快捷:只需在控制台和本地客户端做简单配置即可远程登录实例,再次登录时无需再输入密码。如果您需要批量维护多个 ECS 实例,推荐使用这种方式登录。
Read more »

IDEA git返回到某个提交版本

Posted on 2017-06-11 | | Visitors:
  • 找到需要返回的提交历史,右击选择
  • 随便更改一行代码。使用命令行强行提交代码()
    1
    2
    git commit -f
    git push
<1…3456>
Jax

Jax

54 posts
1 categories
24 tags
GitHub E-Mail 摄影/图虫
© 2022 Jax
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4
湘ICP备12012411号-3