欢迎来到 星空Online - 织梦者,我的原创世界。

Tomcat 中文乱码问题

发布于:9/25/2019, 2:33:44 PM @孙博
技术分享 | Java,Tomcat

最近因为工作需要,重新安装了Intellij IDEA 2019.2.1 (Ultimate Edition) (Build # IU-192.6262.58, built on August 20, 2019),Tomcat版本为Apache Tomcat/9.0.24。按照惯例,中文是一定会出现乱码的,所以我们需要修改一些配置解决这个问题。


比如修改IDEA自己的.vmoptions文件,在文件后加入一行配置。

阅读更多内容......

配置SNAT转发实现无公网IP机器上网

发布于:9/19/2019, 10:18:07 PM @孙博
技术分享 | 运维,后端,阿里云,SNAT

SNAT全称为Source Network Address Translation,其实就是源地址转换,通过iptables配置转发规则,使内网转发到网关的请求IP地址可以变更为指定的地址。大家自家家里的路由器往往就可以看做是一个NAT网关,路由器通过拨号从ISP那里获得一个外网IP地址(如 45.67.8.90),由路由器通过DHCP协议为子网内的机器分配内网地址(如 192.168.0.123 等),同时路由器也会为自己分配一个同一网段的地址(如192.168.0.1),如果子网内的机器想要访问外部网络,比如想要打开本站(www.luckystarry.com),那么在浏览器发出请求后,DNS会先将域名转化为IP地址121.196.193.53,其网络流量会先发送到网关——即路由器192.168.0.1,由路由器将请求来源地址192.168.0.123修改为45.67.8.90后,再将其转发到真实的外部地址,在服务器返回响应时,也是先返回至路由器,由路由器将数据包的目的IP修改为内网机器的IP后192.168.0.123,内网机器便可收到此次请求的响应。

通过SNAT,我们仅需有一台具备外网IP的机器,便可让同一子网的所有机器都能与外部通信,如果是建立在阿里云的VPC条件时,就意味着我们不需要为每台机器都绑定一个外网网卡,也能让所有机器对外发送请求。虽然阿里云提供了成熟的NAT网关服务,但其高昂的售价(306元一个月)对于流量较小的站长来说,既不必要也不实惠。

本文以阿里云VPC环境为例,测试需要VPC中有至少一台自带公网带宽的ECS,或绑定了EIP的ECS

阅读更多内容......

使用 Jenkins 借助 Docker 实现自动化部署

发布于:9/11/2019, 8:35:09 PM @孙博
技术分享 | Docker,Jenkins,CI/CD,DevOps

使用Docker部署站点已经很方便了,但是手敲命令还是会存在一定的风险——有可能因为写错命令导致生产环境挂掉、不方便多人操作等,因此我们可以选择一些常见的CI/CD工具帮我们完成这个工作。

这里向大家推荐的是Jenkins的解决方案。我们可以将Jenkins通过Docker部署,并使用Jenkins管理其他应用的编译与部署,由于Jenkins官方已经提供了Docker镜像,所以我们只需简单的命令就能让其跑起来。(命令中/var/jenkins为宿主机用于存放Jenkins运行所需的文件,请根据自身实际情况替换

Docker部署Jenkins

阅读更多内容......