记一次在全新Linux中部署服务的过程

记一次在全新Linux中部署服务的过程

前言

由于准生产所有的机器已满,无法部署新的应用,因此最近刚申请了新的服务器。新服务器上的第一个应用就落到我的身上。因为此前没有过类似经历,算是经验值+1了。期间遇到了一些问题,在这里记录下来。也将此文当作一个学习笔记。

登录服务器

因为公司其他的一些策略,尚无法直接登录,只能通过ssh进行跳转。

ssh app@1.2.3.199

上面的命令回车之后输入密码即可登录。

JDK配置

这是遇到的第一个坑。

为了效率,我直接从其他的服务器复制了一个jdk,也就是传说中的绿色版。所以本文没有JDK的安装说明。

JDK理所当然地要配置为全局变量,于是我便去修改了 /etc/profile文件,然后无奈地发现,我使用的app用户没有修改权限。

好吧,没有就没有吧。那我给我这个用户配置一个总可以了吧。
于是我来到了用户目录下,并查看了里面包含的文件:

app@newHostName :/> cd /app
app@newHostName :~> ls -a
./ ../
app@newHostName :~> 

因为是新的机器,干干净净什么都没有。正好,我新建一个.bash_profile的隐藏文件来对我当前的app用户设置环境变量呗:

app@newHostName :~> vim .bash_profile

里面的内容就是JDK的环境配置了,这里就不说了。

只说一点,新增环境变量用export关键字就可以了:
eg: export JAVA_HOME=/app/jdk/jdk1.8

设置完之后,使用source命令刷新使文件中的环境变量生效而不用重启机器:

app@newHostName :~> source .bash_profile

然后就是部署了,取包解压(此处省略若干字)。一共有两个服务要部署,因为有事儿,当天只部署了一个。
第二天,接着之前的部署,运行启动脚本:

app@newHostName :~> ./start.sh

然后报了个错,大概意思就是有个叫java的命令系统不认识。
神奇了。我已经配置了JDK的环境变量了呀!于是我就验证了一下:

app@newHostName :~> java -version
If 'java' is not a typo you can use command-not-found to lookup the package that contains it, 
like this:  cnf java
app@newHostName :~>

果然是没有配置。然后我重新source/app/.bash_profile,再看,发现JDK又好了。
尼玛果断不可以啊。
无奈只能使用root账户修改/etc/profile文件了。结果发现仍然有同样的问题:环境变量只对当前的shell环境有效,重新连接之后居然无效了。

然后参考了这位大佬的文章《Linux设置JAVA的全局环境变量时的大坑》

为防止文章链接失效,这里说一下文章概要。
大概的意思就是,环境变量失效,是因为在/etc/profile文件中,会有一段代码将开头的环境变量重置,所以新增的环境变量要放在文件最后。

修改之后,重新启动,果然不再有JDK的问题了。

域名和主机名

然后查看启动日志,发现又有了新的问题:

java.net.UnkonwHostNameException : newHostName : newHostName 域名解析暂时失败 

刚开始在网上找答案,说是DNS的问题,于是修改了/etc/resolv.conf文件,新增了域名配置。但是还是继续报错。
仔细观察发现这个所谓的域名,长得跟主机名一毛一样。于是就想是不是主机名的问题,然后查看了其他服务器的Hosts文件,果然如此。于是使用root用户在/etc/hosts中新增了配置:

1.2.3.199  newHostName

重启应用,发现无报错。

以上全部

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值