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包上传到服务器