阿里云ECS服务器の初体験
首先来说,Boss丢给我了一个阿里云的ECS云服务器,还有一个半成品的网站源码,要我弄上去。
我本来自信满满的认为,和写博客一样,无非就是上传到服务器。。
结果拿到文件我就懵掉了。。这都是些什么东西啊。。。java项目么???
纠结了好几天后,终于,Boss公司的一个人告诉了我,这个东西是使用Springboot框架
开发的
行吧,果然还是我见识太少了
至于云服务器,我没用过这种的,不过大体上应该也差不多,boss给我的是装了windows server的实例,我想用linux来着。。。
反正也没有其他项目,直接删了重来好了。
Boss,如果你不给我验证码我没法弄啊hhhhhhhh(又是摸鱼的下午)
Boss终于主动联系我了,我给自己建了一个最高等级的raw账号,hhhh删库跑路也没问题的那种权限。
终于改成Ubuntu了,虽然不是太熟悉,但是至少比winser强多了。
安装maven
1、更新apt
1 | sudo apt update |
2、安装```maven``
1 | sudo apt install maven |
3、通过运行mvn -version
命令验证安装:
1 | mvn -version |
安装Tomcat
安装java
这里其实还需要更新apt索引
,但是鉴于刚刚跟新完就不更新了
使用apt安装Java Development Kit软件包:
1 | sudo apt install default-jdk |
安装Tomcat
创建Tomcat用户
出于安全考虑,Tomcat应该作为非特权用户运行(即不是root用户)。 我们将创建一个将运行Tomcat服务的新用户和组。
首先,创建一个新的tomcat组:
1 | sudo groupadd tomcat |
接下来,创建一个新的tomcat用户。
我们将使这个用户成为tomcat组的成员,主目录为/opt/tomcat
(我们将安装Tomcat),shell为/bin/false
(因此没有人可以登录该帐户):
1 | sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat |
现在我们已经设置了tomcat用户,让我们下载并安装Tomcat。
安装Tomcat
下载二进制文件
安装Tomcat 9的最佳方法是下载最新的二进制版本,然后手动配置它。
在Tomcat 9下载页面上找到最新版本的Tomcat 9。 在撰写本文时,最新版本为9.0.38 ,但如果可用,则应使用更高版本的稳定版本。 在Binary Distributions部分下,然后在Core列表下,将链接复制到“tar.gz”。
如:http://mirror.easyname.ch/apache/tomcat/tomcat-9/v9.0.38/bin/apache-tomcat-9.0.38.tar.gz
接下来,切换到服务器上的/tmp目录。
1 | cd /tmp |
1 | curl -O http://mirror.easyname.ch/apache/tomcat/tomcat-9/v9.0.38/bin/apache-tomcat-9.0.38.tar.gz |
我们将Tomcat安装到/opt/tomcat目录。 创建目录,然后使用以下命令将存档解压缩到它:
1 | sudo mkdir /opt/tomcat |
接下来,我们可以为我们的安装设置适当的用户权限。
更新权限
我们设置的tomcat用户需要能够访问Tomcat安装。 我们现在就把它搞定。
切换到我们解压缩Tomcat安装的目录:
1 | cd /opt/tomcat |
授予tomcat组对整个安装目录的所有权:
1 | sudo chgrp -R tomcat /opt/tomcat |
接下来,让tomcat组对conf目录及其所有内容进行读访问,并执行对目录本身的访问:
1 | sudo chmod -R g+r conf |
使tomcat用户成为webapps , work , temp和logs目录的所有者:
1 | sudo chown -R tomcat webapps/ work/ temp/ logs/ |
现在已经设置了适当的权限,我们可以创建一个systemd服务文件来管理Tomcat进程。
创建systemd服务文件
我们希望能够将Tomcat作为服务运行,因此我们将设置systemd服务文件。
Tomcat需要知道Java的安装位置。 此路径通常称为“JAVA_HOME”。 查找该位置的最简单方法是运行此命令:
1 | sudo update-java-alternatives -l |
我这里输出是
1 | java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64 |
您的JAVA_HOME是最后一列的输出(以红色突出显示)。 鉴于上面的示例,此服务器的正确JAVA_HOME将是:/usr/lib/jvm/java-1.11.0-openjdk-amd64
有了这条信息,我们就可以创建systemd服务文件了。 键入以下命令,在/etc/systemd/system
目录中打开名为tomcat.service
的文件:
1 | sudo nano /etc/systemd/system/tomcat.service |
将以下内容粘贴到您的服务文件中。 如有必要,修改JAVA_HOME的值以匹配您在系统上找到的值。 您可能还想修改CATALINA_OPTS中指定的内存分配设置:
1 | [Unit] |
注:
其中Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
中,路径需要根据自己的java安装位置进行修改。
完成后,保存并关闭文件。
接下来,重新加载systemd守护程序,以便它知道我们的服务文件:
1 | sudo systemctl daemon-reload |
键入以下命令启动Tomcat服务:
1 | sudo systemctl start tomcat |
键入以下内容,仔细检查它是否正常启动:
1 | sudo systemctl status tomcat |
调整防火墙并测试Tomcat服务器
现在Tomcat服务已启动,我们可以测试以确保默认页面可用。
在我们这样做之前,我们需要调整防火墙以允许我们的请求到达服务。 如果您遵循先决条件,则当前将启用ufw防火墙。
Tomcat使用端口8080接受传统请求。 输入以下内容允许到该端口的流量:
1 | sudo ufw allow 8080 |
修改防火墙后,您可以通过在Web浏览器中访问您的域或IP地址,然后访问:8080来访问默认启动页面:
1 | http://server_domain_or_IP:8080 |
除了其他信息之外,您还将看到默认的Tomcat启动页面。 但是,例如,如果单击Manager App的链接,则将拒绝您访问。 我们接下来可以配置该访问。
如果您能够成功访问Tomcat,现在是启用服务文件的好时机,以便Tomcat在启动时自动启动:
1 | sudo systemctl enable tomcat |
2020-9-22 21:54:29,我发现我远程访问不过去。。具体原因也没排查出来。。我要疯掉了。。今天就到这里好了,明天去公司重新安装一下环境。
时间:2020-9-23 16:29:20
我今天又折腾一天这个配置。我快哭了。。刚刚终于弄好了
我打算记录一下。
最终,我选用了这篇内容[^1]作为安装的过程,其实大体上差不多。。
大概的步骤如下:
- 首先安装java-JDK
- 下载Tomcat包
- 创建一个专门的用户来安装Tomcat
- 解压Tomcat包到
/opt/tomcat/
目录下。 - 配置
/etc/systemd/system/tomcat.service
文件 - 命令
sudo systemctl daemon-reload
通知 systemd 一个新的单元文件存在 - 命令
sudo systemctl start tomcat
来启动 Tomcat 服务
基本上正常的安装就是这些步骤。
但是,无论我在服务器上怎样重新配置,都无法使用ip访问。。
于是在找资料的过程中,我发现有些内容让我误以为Tomcat无法通过外网访问了。
于是我打开了自己的Vmware
,启动了Ubuntu,按照这一套方法安装。。
结果是非常的Amazing啊。。竟然在本机也无法访问。。
于是继续在网上查找。。。。。
经过海量的查找,我终于找到了一个切入点^2——查看日志文件
于是使用命令nano /opt/tomcat/apa*/logs/ca*.log
打开日志文件。
根据里边的内容,我发现原来是端口号冲突导致的。
那么换一个端口号8081
试一试^3。。
配置/opt/tomcat/apa*/conf/server.xml
文件中的端口,找一个不冲突的改一下
然后重启服务。。。
访问172.0.0.1:8081
。。。
然而,还是不行。
就在我抓狂之际,头脑中一道闪电划过。
既然172.0.0.1
不行,那我可以试一试localhost
啊
结果。。他就能访问了
看到那个界面,我的眼角湿润了
。。。。。。。
于是,按照这个思路,我重新配置了服务器上的环境。。同样的步骤
配置完成后,访问ip:8081
竟然还是访问不了。。
又是各种查找资料,但是这次我已经确认过端口号、日志文件,都没有出现任何问题。。
于是我找到了这样一篇文章^4
根据里边的步骤一路做下来,我发现我的配置没有任何问题。
但是在第四步检查远程访问的ip地址是否正确
的时候,我突然惊奇的发现,我这里的ip地址是172.20.51.5
,竟然是一个内网的ip地址。。
于是我突发奇想,没有外网ip,但是阿里云控制台上确实有公网ip
难道是这部分出现了问题???
于是我找到了这样一篇文章^5,抱着试一试的心里。。我按照这个文章的步骤,把8081开放到公网ip下
尝试访问ip:8081
。。。
结果那个页面终于出现了。。。
阿里云我可谢谢你默认关闭端口哦
明天再弄吧。。我今天可能已经傻掉了
还是今天。。我想了一下,这篇文章就到这里结束吧,明天开始的内容如果有需要我会记录在一篇新的文章中。
这边是下一篇文章的传送门,如果你感兴趣的话可以去看一看呢:传送门へ
参考
如何在Ubuntu 18.04上安装Apache Maven:https://www.myfreax.com/how-to-install-apache-maven-on-ubuntu-18-04/
如何在Ubuntu 18.04上安装Apache Tomcat 9:https://www.howtoing.com/install-tomcat-9-ubuntu-1804
ubuntu安装jdk1.8:https://www.cnblogs.com/kaishirenshi/p/10973613.html
[^1]: 如何在Ubuntu 20.04上安装Tomcat9:https://zhuanlan.zhihu.com/p/143981355
在服务器中住着的AKI娘会检测您的输入内容哦, 如果被判断为垃圾内容是看不到的呢!当然抹茶也会定期检查AKI娘的所作所为的!