发表于: 2018-02-06 23:44:59
2 740
今日完成:
1. 通过idea打包war
2. 按照教程升级Centos系统
sudo yum install epel-release
EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。
sudo yum update -y && sudo reboot
sudo可以保持用户的环境。
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
3. 新增Tomcat专用用户
sudo groupadd tomcat
sudo mkdir /opt/tomcat
sudo useradd -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
4. 在Tomcat官网下载.tar.gz安装包,直接拖动到linux虚拟机中
通过SCP指令将安装包上传到云服务器
5. 将上传的文件移动到root目录下,使用mv命令
6. 解压出问题
将文件删除
7. 在网上查找解决办法,发现传到服务器的文件比在本地下载的小
ls -lth
发现问题,从window复制到虚拟机出错了
直接在虚拟机下载安装包上传,成功
解压成功
8. 进入bin目录,启动tomcat
9. 测试tomcat,失败
好像是8080端口的问题
在阿里云控制平台调高8080接口优先级
重启服务器,查看80接口出去监听状态,成功,但是依然无法访问
查看防火墙,已关闭
查看tomcat进程号
查看tomcat监听的端口,正常
根据http://bbs.csdn.net/topics/392028088?page=1博文,在云服务器开放22/8081端口,访问成功,不过不知道原因,网上关于22/8081端口的资料太少
10. 打开防火墙试试
马上无法访问了,在防火墙吧80端口开放
访问成功
11. 在maven打包war包,跳过测试
mvn package -Dmaven.test.skip=ture
12. 将war包部署到tomcat webapp文件夹下,重启tomcat,看看能否访问
结果遇到拒绝链接问题
上网查找原因
表明原因在于端口被占用等可能性,其根本在于你shutdown的时候,执行的是shutdown.sh脚本,而如果项目此时有些数据库链接之类的,以至tomcat其实根本没有真正关闭,也是就是没有完全关闭掉,导致你再次shutdown的时候报错。
所以要kill掉所有进程
ps -ef|grep java
找到所有java进程号
kill -9 进程号
把出现的进程干掉,除了 用户名 XXX XXX 0 20:56 pts/0 00:00:00 grep --color=auto java之外。
重启tomcat后正常访问tomcat主页
通过ip+端口+项目名成功访问项目,但是进入下一页面就404
发现链接都需要加上项目名才能访问
查到的原因是
1. tomcat默认访问ROOT文件夹下的项目,我把项目部署到webapp下,因此需要带上项目名,但是项目内的地址链接没有添加项目名
2. 在idea中启动tomcat做测试的时候已经指定项目名,导致地址链接不正确
解决方法:
1. 在没有设置项目名的情况下把war包部署到ROOT下,直接通过ip+端口访问
2. 修改项目名为原来项目名
3. 修改项目中的跳转地址
13. Tomcat启动的情况下在webapp下删除war包会自动删除解压的项目
14. 修改地址链接和项目名,重新发布,成功http://47.95.248.39:8080/student/
15. 认识nginx
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
Nginx处在客户端和服务器中间,是一个很强大的高性能Web和反向代理服务器,能够支持高达 50,000 个并发连接数的响应,Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。无缓存的反向代理加速,简单的负载均衡和容错。模块化结构。
启动新进程代替旧进程,平滑过渡
16. 安装nginx依赖包
17. 安装ninx
下载上传到服务器解压安装
安装成功
但是通过外网无法访问,查资料发现是80端口被防火墙关闭了,打开80端口,外网访问成功
明日计划:
1. 创建好部署目录/data/XXX-home/,使用Resin或者是Jetty或者是Tomcat,写好start.sh,stop.sh,deploy.sh 能正常启动和访问。
2. 配置Nginx,使用子域访问。
3. 查看Nginx日志,编写脚本统计访问次数,统计响应延时。
4. 查看Resin日志,统计访问DB时间,Controller处理时间。
5. 使用Top命令查看WEB服务占用内存和CPU。
6. 将以上数据都贴到日报里去。 执行时间统计要分成 执行了100次。其中的分布是怎么样的。如20MS有多少次。10MS有多少次。
遇到的问题:
1. 解决昨天无法使用navicat链接远程数据库的问题
把端口权限调高,成功链接
2. 项目名的问题:
这些名称都如何区分,哪个是发布的项目名,那个是文件,那个是包的,,很混乱
3. 这个步骤还不清楚
收获:
1. 把项目war包配置到云服务器,通过tomcat进行访问,完成crud
2. 配置nginx,熟悉nginx.conf配置包,了解nginx作为http服务器的反向代理作用
3. 熟悉Centos常用操作
评论