Tomcat+Nginx+Linux+Mysql部署豆瓣TOP250的项目到腾讯云服务器
写在前面
因为前面有写过一篇关于豆瓣的top250的电影的可视化展示项目,你可以移步http://blog.csdn.net/liuge36/article/details/78607955了解这个项目。因为,想着,完全可以把这个项目部署到我们的腾讯云服务器上。说干就干,直接切入正题。
实验环境
一台云服务器(含一个公网的ip)
Tomcat7+
Nginx(我用得是1.12的)
Mysql(5.1+)
Linux(我用的是centos6.8)
实验环境选择什么版本问题不大,合理选择就好。
我也提供了我的环境的软件包,你可以从分享的百度云地址上面下载:
开始
(一)搭建好我们的实验环境
使用云服务器的话,安装系统这一步,就不用考虑了,因为基本上就是一键选择重装,这里,我们就默认大家安装好了,接下来,开始软件的安装。
1).安装tomcat
下载啊
这个的下载地址可以直接到官网下载,官网下载的速度也是很快的,http://tomcat.apache.org/
在linux上面我们可以使用wget命令直接下载,当然,你也可以选择先下载到本地,然后上传到自己的服务器上面去
[root@VM_57_70_centos softwares]# ls ap*
apache-tomcat-7.0.82.tar.gz apache-tomcat-8.5.23.zip
[root@VM_57_70_centos softwares]#
2.我已经下载好了,开始解压
[root@VM_57_70_centos softwares]# tar -zxf apache-tomcat-7.0.82.tar.gz -C ../apps/
[root@VM_57_70_centos softwares]# cd ../apps/
[root@VM_57_70_centos apps]# ls
apache-tomcat-7.0.82
[root@VM_57_70_centos apps]# mv apache-tomcat-7.0.82 tomcat7
[root@VM_57_70_centos apps]# ls
tomcat7
[root@VM_57_70_centos apps]#
3.解压出来之后
可以先来测试(修改默认的配置文件的端口,也可以不用修改)
[root@VM_57_70_centos ~]# cd apps/tomcat7/conf/
[root@VM_57_70_centos conf]# vim server.xml
#简单修改配置文件的端口就可以
#找到<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
#修改port="80"
#:wq保存退出就好
4.接下来,就可以启动我们的服务啦
5.测试访问:
看到上面的界面,就说明你ok啦
2).安装nginx
nginx是一款非常优秀的反向代理服务器,对于海量高访问量,也是能够做到很好的支撑,但是,由于它只能做静态数据的处理,例如,css,img,js等。所以,一般的做法是,把它和tomcat服务器联合起来使用。
- 下载啊
同样,也是去到官网,下载的速度也还是很快的
2.解压
[root@VM_57_70_centos softwares]# ls n*
nginx-1.12.2.tar.gz
[root@VM_57_70_centos softwares]# tar -zxf nginx-1.12.2.tar.gz -C ../apps/
[root@VM_57_70_centos softwares]#
[root@VM_57_70_centos softwares]# ls ../apps/
nginx-1.12.2 tomcat7
[root@VM_57_70_centos softwares]#
解压到apps目录下之后,开始安装
3.在开始安装之前,先安装依赖
#安装依赖:
yum -y install gcc gcc-c++ autoconf automake make
yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
接下来,就是编译安装
[root@VM_57_70_centos nginx-1.12.2]# ./configure
#这里我们全部默认就好,当然也是可以自定义的安装目录什么的
#过一会儿,出现
如果不是上面这样,出现报错的话,就可能是你的依赖没有安装好,查看你的错误,安装好差的依赖,再次编译就ok
[root@VM_57_70_centos nginx-1.12.2]# make&make install
出现上面的结果,说明你就安装成功啦 。
默认的安装目录是在
[root@VM_57_70_centos nginx-1.12.2]# whereis nginx
nginx: /usr/local/nginx
[root@VM_57_70_centos nginx-1.12.2]#
我们可以创建一个软连接,方便我们后面使用nginx的命令
[root@VM_57_70_centos nginx-1.12.2]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin
4.关闭之前的tomcat服务,因为nginx默认的端口就是80,不然会冲突的
[root@VM_57_70_centos bin]# pwd
/root/apps/tomcat7/bin
[root@VM_57_70_centos bin]# ./shutdown.sh
Using CATALINA_BASE: /root/apps/tomcat7
Using CATALINA_HOME: /root/apps/tomcat7
Using CATALINA_TMPDIR: /root/apps/tomcat7/temp
Using JRE_HOME: /root/app/jdk1.8.0_151
Using CLASSPATH: /root/apps/tomcat7/bin/bootstrap.jar:/root/apps/tomcat7/bin/tomcat-juli.jar
[root@VM_57_70_centos bin]#
5.安装好了之后,就可以启动啦
如果你创建了软连接,可以在任意位置输入nginx来启动
在测试之前,我们可以来做一个反向代理了
1.先修改tomcat服务器的端口号
[root@VM_57_70_centos tomcat7]# vim conf/server.xml
修改端口为8111,端口号看自己的情况,
<Connector port="8111" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
2.在nginx服务器上面去做反向代理
修改配置文件:
[root@VM_57_70_centos nginx-1.12]# vim conf/nginx.conf
上面这句话的意思就是,把所有到80nginx服务器的请求全部丢给本地8111来出来,8111端口正是我们的tomcat服务器。这样nginx就把访问交给tomcat来做了。
这个时候,就可以来访问了:
你会发现,我们的请求是默认的80端口,但是它依然出现的是tomcat的页面,而且这个过程,用户(浏览器)是完全不知情的。
3).安装mysql
说明,因为我这里已经安装好了mysql,我就给出我安装的步骤就好,你按照这个步骤也会是完全没有问题的
第1步、查看CentOS下是否已安装mysql
输入命令 :yum list installed | grep mysql
第2步、删除已安装mysql
输入命令:yum -y remove mysql
上面两步做好之后,就是可以来正式安装了
我们这里直接使用yum来安装了,当然,你也可以使用其他方式,好像目前在centos6.8上面的默认yum库mysql是5.1版本的,如果,你想使用高版本的,你可以选择更换其他的yum源,或者直接官网下载
第3步,我这里直接yum安装了
我们只是需要mysql-server
yum -y install mysql-server
过一会儿,就会安装好的
如果你想查看是否安装成功,你可以使用:
rpm -qi mysql-server
出现:
第4步,安装好了之后,就可以启动mysql服务啦
[root@VM_57_70_centos bin]# service mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
[root@VM_57_70_centos bin]#
第5步,进入MySql
输入命令:mysql -u root
如果出现ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ 错误,可能是服务未开启,也可能是/var/lib/mysql的访问权限问题。
如果是服务未开启:service mysqld start
如果是访问权限问题:chown -R root:root /var/lib/mysql
说明,我这里直接把它加入root我的当前操作用户
第6步,修改root密码
mysql > use mysql;
mysql > update user set password=password(‘123456‘) where user=‘root‘;
上面的密码123456,自己设置就好,设置好之后,你就可以使用
mysql -u root -p 登录啦
这时,你要是输错密码是进不去的
第7步,开放远程登录权限(你要是想远程登录的话)
输入命令:
GRANT ALL PRIVILEGES ON * . * TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
刷新:
FLUSH PRIVILEGES;
第8步,关闭防火墙
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
vim /etc/selinux/config
修改,为disabled
第9步,设置开机启动
chkconfig mysqld on
到这里,我们的mysql就安装好啦,可以使用本地的Navicat来测试一下
好的,没有问题,上面的article和news是我我之前的,
部署豆瓣TOP250的项目
1.先把远程mysql数据库里面添加好表和数据
服务器上面的数据已经放好了
我们把之前的项目打包成一个war文件
这里,我想说一下,如何从idea把项目打包成war的压缩包
选择我们的web目录
设置好之后
接下来将生成的war包上传到服务器
Tomcat+Nginx+Linux+Mysql部署豆瓣TOP250的项目到腾讯云服务器的更多相关文章
- 部署Flask项目到腾讯云服务器CentOS7
部署Flask项目到腾讯云服务器CentOS7 安装git yum install git 安装依赖包 支持SSL传输协议 解压功能 C语言解析XML文档的 安装gdbm数据库 实现自动补全功能 sq ...
- 【重学Node.js 第5篇】部署项目到腾讯云服务器
课程介绍看这里:https://www.cnblogs.com/zhangran/p/11963616.html 项目github地址:https://github.com/hellozhangran ...
- Hexo博客部署到腾讯云服务器全过程(Nginx,证书,HTTPS),你要的这里都有
背景 说来也惭愧,博客已经搭建很久了,一直免费的部署在 Coding 和 Github Pages 上,前者迁移到腾讯云 Serverless,导致原有的配置始终有问题,没时间仔细研究,刚好腾讯服务器 ...
- 腾讯云服务器、nginx部署loopback
最近在研究学习nginx,买了腾讯云服务器.在阿里上申请了域名,部署项目遇到很多问题记录一下,以备后用: 1.在腾讯服务器买好,阿里域名申请好后(也可以在腾讯上申请域名),需要添加安全组,创建不同的规 ...
- 腾讯云服务器部署 django项目整个流程
CentOS7下部署Django项目详细操作步骤 前记:购买腾讯云服务器,配置自选,当然新用户免费体验半个月,我选择的系统是centos7系统版本, 接下来我们来看整个配置项目流程. 部署是基于:ce ...
- 在腾讯云服务器上实现java web项目部署
----------------------------博主讲废话 几天前搞了一台体验七天的腾讯云服务器.之前已实现在新浪云下java web项目的部署,不需要自己搭建环境,比较简单,而且自 己也偷懒 ...
- 把 nodejs koa2 制作的后台接口 部署到 腾讯云服务器
我 使用 nodejs koa2框架 制作后端接口, 现在将nodejs koa2 部署到服务器 koa2项目 实现 接口 可以看我的 这篇文章: 简单实现 nodejs koa2 mysql 增删改 ...
- 怎样将本地web数据库项目部署到腾讯云服务器上?
怎样将本地web数据库项目 部署到腾讯云服务器上? 1.本地计算机的工作: 1.1用eclipse或者myeclipse做好一个web项目,可以只做一个数据库的增删改查,本地部署到Tomcat服务器, ...
- 怎样将本地web项目部署到腾讯云服务器上?
怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...
随机推荐
- Liunx学习总结(四)--文件的权限管理
文件和目录的权限 每个文件都有其所有者(u:user).所属组(g:group)和其他人(o:other)对它的操作权限,a:all则同时代表这3者.权限包括读(r:read).写(w:write). ...
- HDU 2516
题意略. 思路: 典型的斐波那契博弈,这里说一下结论: 如果先手面对的n不是斐波那契数,那么先手必胜:否则后手胜. 详见代码: #include<bits/stdc++.h> using ...
- 04_枚举类型iota
iota是枚举类型的关键字,使用iota可以方便快捷的给常量赋值,主要体现在以下几个方面:1.iota常量自动生成器,每个一行加12.iota给常量赋值使用3.iota遇到const重置为04.可以写 ...
- JDBC工具类连接数据库,模仿登录
## 使用JDBC工具类的原因在使用JDBC连接数据库的时候,加载驱动.获取连接.释放资源等代码是重复的,所有为了提高代码的复用性,我们可以写一个工具类,将数据库驱动加载.获取连接.资源释放的代码封装 ...
- NLP(十七) 利用DNN对Email分类
数据集 scikit-learn中20个新闻组,总邮件18846,训练集11314,测试集7532,类别20 from sklearn.datasets import fetch_20newsgrou ...
- BadBoy+JMeter来录制和运行Web测试脚本
参考: http://jingyan.baidu.com/article/5d368d1ef548d43f61c05761.html http://www.51testing.com/html/00/ ...
- URAL-1627-Join 生成树计数
传送门:https://vjudge.net/problem/URAL-1627 题意: 给定一个n*m的图,问图中“.”的点生成的最小生成树有多少个. 思路: 生成树的计数,需要用Kirchhoff ...
- codeforces 808 D. Array Division(二分)
题目链接:http://codeforces.com/contest/808/problem/D 题意:有一串长度为n的数组,要求选择一个数字交换它的位置使得这串数能够分成两串连续的和一样的数组. 这 ...
- 1张影射过往的图片,如何勾起往事的回忆,.CORE其实可以是这样的吗?
看到某人写了一个流程分析貌似可以披云见日,形似之余好像回忆可以相得益彰 然后我刚刚不小心发布了,当然要准备100字的说明,这个字应该怎么打好呢,不知不觉打了好多字,我好难啊 首先这是正常情况看不到的图 ...
- linux常用命令二
linux常用命令一 常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all ...