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

Tomcat+Nginx+Linux+Mysql部署豆瓣TOP250的項目到騰訊雲服務器

socket 也會 path auto col protocol 配置 catalina mysqld

寫在前面
因為前面有寫過一篇關於豆瓣的top250的電影的可視化展示項目,你可以移步http://blog.csdn.net/liuge36/article/details/78607955了解這個項目。因為,想著,完全可以把這個項目部署到我們的騰訊雲服務器上。說幹就幹,直接切入正題。

實驗環境

一臺雲服務器(含一個公網的ip)
Tomcat7+
Nginx(我用得是1.12的)
Mysql(5.1+)
Linux(我用的是centos6.8)
實驗環境選擇什麽版本問題不大,合理選擇就好。
我也提供了我的環境的軟件包,你可以從分享的百度雲地址上面下載:

開始

(一)搭建好我們的實驗環境

使用雲服務器的話,安裝系統這一步,就不用考慮了,因為基本上就是一鍵選擇重裝,這裏,我們就默認大家安裝好了,接下來,開始軟件的安裝。

1).安裝tomcat

  1. 下載啊
    這個的下載地址可以直接到官網下載,官網下載的速度也是很快的,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服務器聯合起來使用。

  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

[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的項目到騰訊雲服務器