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服 ...
随机推荐
- thinkPHP中的文章详情页实现“上一篇下一篇”功能经验分享
前段时间在公司中接触到了用thinkPHP搭建的项目,其中涉及到了文章详情页上一篇下一篇翻页的功能实现效果. 因为刚接触这套框架和PHP,所以整理一下实现该功能的经验方法. 如果有不到位的地方,欢迎指 ...
- 重温Android和Fragment生命周期
重温下Android和Fragment生命周期,理解生命周期方法的作用,什么时候调用,可以做一些什么操作. 1.Android生命周期 1.1 生命周期图 1.2 生命周期函数说明 onCreate: ...
- Swifter.Json 可能是 .Net 平台迄今为止性能最佳的 Json 序列化库【开源】
Json 简介 Json (JavaScript Object Notation) 是一种轻量级的数据交换格式.它作为目前最欢迎的数据交换格式,也是各大开源贡献者的必争之地,如:阿里爸爸的 fastj ...
- Luogu-P1027 Car的旅行路线 已知三点确定矩形 + 最短路
传送门:https://www.luogu.org/problemnew/show/P1027 题意: 图中有n个城市,每个城市有4个机场在矩形的四个顶点上.一个城市间的机场可以通过高铁通达,不同城市 ...
- POJ-3261-Milk Patterns-二分+哈希
Milk Patterns 题意: 在一串数字中,求至少连续k次的最大子序列长度: 思路: 二分加哈希: #include <cstdio> #include <iostream&g ...
- 基于DP+位运算的RMQ算法
来源:http://blog.csdn.net/y990041769/article/details/38405063 RMQ算法,是一个快速求区间最值的离线算法,预处理时间复杂度O(n*log(n) ...
- Pytorch读取,加载图像数据(一)
在学习Pytorch的时候,先学会如何正确创建或者加载数据,至关重要. 有了数据,很多函数,操作的效果就变得很直观. 本文主要用其他库读取图像文件(学会这个,你就可以在之后的学习中,将一些效果直观化) ...
- PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性
关系数组 array("key"=>"value",...) ; get没有数据大小的限制 post上传大小没有限制 不指定上传方式,默认是get 文件上 ...
- 02 python 必知
一.变量 1.变量的定义 将程序运算的中间结果临时存在内存里,以便后续代码调用. 2.变量的使用规范 1)变量必须要有数字,字母,下划线,任意组合. 2)变量不能数字开头. 3)不能是python中的 ...
- 章节十六、8-ITestResult接口
一.ITestResult:该接口就像一个监听器,能够监听每个方法执行后的状态(是否成功)并将结果返回给我们. package testclasses1; import org.testng.anno ...