1. 程式人生 > >快速搭建一個自己的伺服器詳解(java環境)

快速搭建一個自己的伺服器詳解(java環境)

一.   伺服器的購買

1. 我選擇的是阿里雲的伺服器,學生價9.5元一個月,百度直接搜尋阿里雲,然後點選右上角登入,推薦大家用支付寶掃碼登入,方便快捷。阿里雲官網的東西比較多,登入後我找了很久也沒有找到學生伺服器在哪裡賣,最後在諮詢裡找到了這個網址,https://promotion.aliyun.com/ntms/campus2017.html,購買的時候需要進行學生認證,按照他的要求一步步來就好,認證大概需要幾個小時。如果你不是學生那就直接購買ecs伺服器就好,首頁就可以看到ecs伺服器的購買地址,但是要比學生伺服器貴不少。  在這裡要說一下預裝環境的選擇,因為大部分伺服器都是linux系統,linux中centos的使用又是最多的,所以推薦大家也選擇centos系統,然後是應用映象的選擇,應用映象的作用主要就是幫你預裝伺服器的環境,比如mysql,apache,tomcat這些,有的還會給你提供管理伺服器的面板,方便對伺服器的操作。應用映象可用可不用,如果你只是想快速的配置好伺服器,推薦大家安裝寶塔linux面板,使用起來很方便,如果你想了解或者已經瞭解一些linux的使用,就可以忽略應用映象。如果是用來學習的話地域的選擇是無所謂的,可以選擇一個離自己近的。                                                            

2.伺服器購買成功之後在阿里雲的首頁右上角進入控制檯,控制檯的側邊欄中有esc伺服器或者輕量級伺服器也就是學生伺服器,點選進入後你就可以看到自己購買的伺服器,右下角就是你伺服器的ip地址,接下來要用到。                                                       

二.   伺服器的配置   

         1.首先點選遠端連線中的設定root密碼,這是連線伺服器要用到的。                                                                                  

                                                         

2.然後在防火牆中點選新增規則開放埠,為了方便我開啟瞭如圖中的埠。你也可以只開啟21,22,443,8080這幾個埠,如果你使用的是寶塔linux,則還需要開啟8888埠。                                                                                                                                                                             

三.   伺服器環境手動搭建

現在伺服器已經有了,該怎麼使用呢?如果要使用命令列手動搭建環境,最好大家要對linux命令有一些瞭解,如果你不想使用linux命令來快速搭建環境,且安裝了寶塔linux面板,請直接看第四部分。

 1. 工具準備

我們需要兩款軟體來連線到伺服器,一個叫Xshell,用來操控伺服器,另一個叫Xftp,用來進行伺服器和自己電腦之間的檔案傳輸。直接百度或者在360寶庫中就可以下載到這兩款軟體。      

2.Xshell的連線

Xshell的使用很方便,首先輸入自己伺服器的IP地址,在阿里雲伺服器列表的右下角就有你伺服器的IP地址,點選連線,然後使用者名稱輸入root,密碼輸入你在前面設定的root密碼,當螢幕顯示welcome to alibaba cloud時,說明你連線成功了。

3.Xftp的連線

Xftp的登入和Xshell類似,輸入伺服器IP,使用者輸入root,然後輸入root密碼,登入成功後,左邊框為你自己電腦上的檔案,右邊為伺服器上的檔案,左右拖動來進行檔案的上傳和下載。

4.JDK的安裝

這兩個軟體安裝好之後我們便可以開始伺服器環境的搭建,因為是學習用的簡單環境,併發不高,所以並沒有使用nginx,apache或者redis這些,使用的java環境為簡單的tomcat+mysql,環境搭建我們需要使用Xshell來完成。在安裝tomcat之前我們首先要進行jdk的安裝,linux系統上jdk的安裝十分簡單,我使用的是1.8版本的jdk,執行命令  yum -y install java-1.8.0-openjdk.x86_64,螢幕上出現Complete時,說明安裝成功了。接著你可以執行java -version,顯示出當前java版本說明沒有問題。

5.Tomcat的安裝 

接下來是tomcat的安裝,yum上沒有tomcat的源,所以需要wget的方式來下載,首先通過cd /opt來切換到opt目錄下。

      執行完畢之後我們已經將tomcat壓縮包下載到了opt目錄下,然後我們執行命令 tar xzf apache-tomcat-8.5.32.tar.gz 來解壓這個壓縮包。

現在我們在Xftp中是可以看到這兩個檔案的,我們可以單擊解壓後的檔案按F2來重新命名為tomcat8.5,方便我們使用命令列來對他進行操作。

執行命令/opt//tomcat8.5/bin/startup.sh執行tomcat,顯示tomcat started,說明啟動成功了

我們也可以輸入netstat -anp|grep 8080來檢視8080埠

這個時候我們已經可以從外網訪問了,在你的瀏覽器上直接訪問你的伺服器ip地址加埠號,例如http://39.107.104.52:8080/,如果訪問成功說明我們的tomcat已經配置好了。

6.mysql的安裝

yum上mysql的資源有問題,所以不能僅僅之用yum。在使用yum之前還需要用其他命令獲取mysql社群版,執行命令wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm,繼續執行rpm -ivh mysql-community-release-el7-5.noarch.rpm。

這時候我們就可以通過yum進行安裝了,執行yum install mysql mysql-server mysql-devel -y,最後顯示complete則說明安裝成功。

安裝成功後,我們通過systemctl start mysql.service來啟動mysql伺服器,然後我們依舊可以執行netstat -anp|grep 3306命令來檢視mysql是否啟動。

通過yum安裝的mysql的管理員賬戶是沒有密碼的,這裡通過命令設定其密碼為 admin ,大家也可以設為其他,執行命令mysqladmin -u root password admin。

注: Warning資訊並非提示設定失敗,而是告訴大家密碼露出來了,當心背後有人。

7.專案和資料庫的上傳

         我們通過mysql -uroot -padmin命令來登入資料庫,admin是密碼,如果你設定成了其他密碼在這裡請更換為自己設定的,通過CREATE DATABASE xxx DEFAULT CHARACTER SET utf8;命令來建立資料庫,記得在進入資料庫後執行的命令後要加分號,xxx為資料庫名,在建立時改為你要建立的資料庫名,建立後執行show databases;,即可看到你所建立的資料庫。很多時候資料庫都是我們本地建立好後匯入至伺服器,我們首先需要使用Xftp將資料庫檔案傳輸到伺服器上,我們可以通過mysql -u root -padmin --default-character-set=utf8 xxx < /home/xxx.sql命令來匯入資料庫,xxx即為資料庫名,/home/xxx.sql為資料檔案的路徑。匯入操作完成後,我們再次通過mysql -uroot -padmin命令來登入資料庫,執行use xxx; ,然後show tables;,檢視匯入的資料庫。

專案的上傳就較為簡單了,我們只需將專案直接放入tomcat的webapps目錄中即可,或者將專案打包成war檔案後放入,重啟tomcat後war檔案會被自動解析。關閉tomcat的命令為/opt/tomcat8.5/bin/shutdown.sh,關閉後再開啟完成重啟。

到這裡伺服器搭建就算完成了,如果你還想對你的伺服器做進一步的優化,提高網站的訪問速度和伺服器的效能,請看第五部分——Nginx的使用,使用nginx還有一個好處就是可以在不備份的情況下去掉8080埠(正常情況下我們不備份網站是無法去掉埠號的去使用網站預設的80埠的),比如可以將http://39.107.104.52:8080/shop變為http://39.107.104.52/shop

四.寶塔linux面板環境搭建

1. 寶塔面板登入 

寶塔面板的使用較為簡單,首先從控制檯進入伺服器管理頁面,然後進入應用詳情,點選複製

然後遠端連線,連線成功後右鍵將複製的內容貼上,回車執行,會顯示出寶塔面板的密碼,把它複製下來。

退出遠端連線,點選面板首頁地址。

使用者名稱為admin,密碼為剛剛遠端連線後複製的密碼。

2. 軟體安裝和配置

登入成功後在側邊欄找到軟體管理

安裝tomcat和mysql,我安裝的tomcat版本為8.5,mysql版本為5.7。

在等待安裝的這段時間裡,我們先開放埠,點選側邊欄中的安全,放行8080埠。

安裝完成後,我們這時已經可以從外網訪問到tomcat頁面。訪問如http://39.107.104.52:8080/,IP地址要換成你自己伺服器的IP地址。

上傳資料庫

從側邊欄進入資料庫,點選新增資料庫,密碼可以隨機生成,也可以自己設定。

新增成功後點擊匯入,即可將本地的sql資料庫檔案上傳到伺服器。

上傳專案

在軟體管理中點選tomcat的檔案位置,進入tomcat。

開啟tomcat的webapps資料夾,點選左上角的上傳,將專案檔案或者專案的war包放入後重啟tomcat即可。

 

到這裡伺服器搭建就算完成了,如果你還想對你的伺服器做進一步的優化,提高網站的訪問速度和伺服器的效能,請看第五部分——Nginx的使用,使用nginx還有一個好處就是可以在不備份的情況下去掉8080埠(正常情況下我們不備份網站是無法去掉埠號的去使用網站預設的80埠的),比如可以將http://39.107.104.52:8080/shop變為http://39.107.104.52/shop

五 .伺服器效能優化(Nginx的使用)

Nginx是一個反向代理伺服器,使用nginx可以實現動靜分離和負載均衡,動靜分離是指在處理使用者請求時,由nginx處理靜態請求,tomcat處理動態請求,降低了tomcat的負載,讓tomcat可以專注處理動態請求。負載均衡是指nginx可以同時連線多個tomcat即tomcat叢集,將使用者的動態請求均衡的轉發給各個tomcat。那麼,Nginx該如何使用呢?

1.使用寶塔面板安裝配置Nginx

在軟體管理中找到Nginx點選安裝,在這裡我安裝的是1.14版本。

安裝完成後需要對nginx進行配置,點選nginx的設定,進入設定頁面,點選配置修改,將原本的配置檔案全部刪除,改成如下內容:

user  www www;
worker_processes auto;
error_log  /www/wwwlogs/nginx_error.log  crit;
pid        /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
		#include luawaf.conf;

		include proxy.conf;

        default_type  application/octet-stream;

        server_names_hash_bucket_size 512;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
		fastcgi_intercept_errors on;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        limit_conn_zone $binary_remote_addr zone=perip:10m;
		limit_conn_zone $server_name zone=perserver:10m;

        server_tokens off;
        access_log off;

upstream tomcats{
    ip_hash;
    server 39.107.104.52:8080;
    server 39.107.104.52:8081;
    
}

server
    {
        listen 80;
        server_name localhost;
        index index.html index.htm index.jsp;
        root  /www/server/myadmin;
      
        
        #error_page   404   /404.html;
        include enable-php.conf;
 location / {
    proxy_pass http://tomcats;
      
    }
    
 location ~ \.(gif|jpg|png)$ {
       expires 30d;
       access_log off;
        root /www/server/myadmin;
    }
#一鍵申請SSL證書驗證目錄相關設定
    location ~ \.well-known{
        allow all;
    }


        access_log  /www/wwwlogs/access.log;
    }
include /www/server/panel/vhost/nginx/*.conf;
}

這個配置檔案中,我們必須要了解的內容有兩部分,檔案中的  upstream tomcats中就是我們的tomcat地址,也就是nginx接收到動態請求後要轉發的地址,在這裡我除了寶塔安裝的tomcat外,又手動安裝了一個tomcat,分別在8080和8081埠,手動安裝tomcat請參考第三部分中的tomcat安裝,如果你不想手動安裝,在這裡可以只寫一個,將另一個刪掉,讓Nginx只做動靜分離,ip_hash是指繫結使用者IP,防止出現更換tomcat後session的問題,每個ip只能訪問到其中的一個tomcat,刪除掉這句話後重新整理幾次頁面你會發現你會訪問不同的tomcat。server中的 root  /www/server/myadmin  指的就是我們存放靜態檔案的根目錄,當有靜態請求時nginx將在這個目錄下尋找檔案。 location ~ \.(gif|jpg|png)$指的是當請求以.gif|.jpg|.png結尾時判定其為靜態檔案,直接去根目錄尋找,其他請求則轉發至tomcat,當然你也可以把css,js等檔案判定為靜態檔案,只需將.js,.css加在裡面即可。配置完畢後,就可以去訪問專案了,例如http://39.107.104.52:8080/shop/可以修改為http://39.107.104.52/shop/進行訪問了,這時你會發現專案中的圖片不見了,因為所有的以.gif|.jpg|.png結尾的檔案請求都被nginx攔截了,我們需要將這些檔案放在nginx的根目錄下,同時更改專案中的圖片路徑,例如路徑/picture/1.png指的就是/www/server/myadmin/picture/1.png。在這裡對於nginx具體的配置就不細說了,如果你對nginx感興趣,可以在下面留言給我,我發詳細的視訊教程給你。

2.手動安裝Nginx

因為我使用的是寶塔linux安裝的Nginx,並未親自操作手動安裝Nginx,所以推薦給大家另一篇部落格https://www.cnblogs.com/taiyonghai/p/6728707.html,手動安裝Nginx較為複雜,有興趣的朋友們可以去看看。關於Nginx的配置,可以參考我上面寫的。

部落格到這裡就結束啦,希望可以幫到大家,最後還要跟大家說的一件事就是在使用阿里雲伺服器時,出現任何問題都可以在控制檯提交工單,讓阿里的程式設計師們來幫你解決問題,但是工單的回覆速度可能會比較慢。

    ​​​​