1. 程式人生 > >Tomcat+Nginx+Linux+Mysql部署豆瓣TOP250的專案到騰訊雲伺服器

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

  1. 在linux上面我們可以使用wget命令直接下載,當然,你也可以選擇先下載到本地,然後上傳到自己的伺服器上面去

[[email protected]_57_70_centos softwares]# ls ap*
apache-tomcat-7.0.82.tar.gz  apache-tomcat-8.5.23.zip
[[email protected]_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伺服器聯合起來使用。

  1. 下載啊
    同樣,也是去到官網,下載的速度也還是很快的
    這裡寫圖片描述

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

[[email protected]_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,不然會衝突的

[[email protected]_57_70_centos bin]# pwd
/root/apps/tomcat7/bin
[[email protected]_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
[[email protected]_57_70_centos bin]# 

5.安裝好了之後,就可以啟動啦
如果你建立了軟連線,可以在任意位置輸入nginx來啟動

這裡寫圖片描述

在測試之前,我們可以來做一個反向代理了

1.先修改tomcat伺服器的埠號

[[email protected]_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伺服器上面去做反向代理
修改配置檔案:

[[email protected]_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包上傳到伺服器

這裡寫圖片描述