1. 程式人生 > >在Linux上部署java專案的開發環境

在Linux上部署java專案的開發環境

如需要用虛擬機器則下載centos的地址:(http://mirrors.aliyun.com)

第一步:安裝資料來源(https://opsx.alibaba.com/mirror

1、備份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下載新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 7 版本
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、之後執行yum makecache生成快取

第二步:JDK的安裝

1、jdk的下載

2、jdk的安裝
   2.1.清理系統預設自帶jdk,使用 rpm -qa | grep jdk 檢視自帶的jdk,然後解除安裝
   2.2.解除安裝命令: sudo yum remove XXXX  (xxx為上一個命令查到的結果)
   2.3.賦予許可權: sudo chmod 777 jdk-7u80-linux-x46.rpm
   2.4.安裝:     sudo rpm -ivh jdk-7u80-linux-x46.rpm
   2.5.預設安裝路徑為: /usr/java  (例如:/usr/java/jdk1.7.0_80)
   2.6.配置jdk的環境變數
        sudo vim /etc/profile
        在最下方增加:
        export JAVA_HOME=/usr/java/jdk1.7.0_80
        export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:
                         $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
        在export PATH中新增$JAVA_HOME/bin

   2.7.儲存退出,通過vim的":wq"命令進行儲存退出
   2.8.使配置生效: source /etc/profile 
   注:JAVA_HOME為您安裝jdk的路徑

3、jdk的驗證
    執行java -version命令,出現版本資訊證明安裝成功

第三步:Tomcat的安裝

1、tomacat簡介
   tomacat是一個web容器,javaee程式可以在此執行。
   可以說是servlet的解析

2、tomcat安裝
   2.1.tomacat的版本是tomcat7(注:安裝tomcat之前需要安裝好jdk,因為啟動tomcat需要用到jdk)
   2.2.官網下載tomacat7(https://tomcat.apache.org/download-70.cgi)
   2.3.解壓縮:tar -zxvf apache-tomcat-7.0.73.tar.gz
   2.4.是否使用sudo許可權執行根據具體環境決定
   2.5.配置環境變數: sudo vim /etc/profile
       export CATALINA_HOME=/developer/apache-tomcat-7.0.73(注:CATALINA_HOME為tomcat的路徑)
   2.6.儲存退出,通過vim的":wq"命令進行儲存退出
   2.7.使生效: source /etc/profile
   2.8.配置UTF-8字符集
       2.8.1.進入tomcat安裝conf資料夾,編輯server.xml(如${CATALINA_HOME}/conf/server.xml)
       2.8.2.找到配置8080預設埠位置,在xml節點末尾增加 URIEncoding="UTF-8"
       
3、tomcat驗證
   3.1.進入系統解壓縮後的tomcat目錄
   3.2.進入bin目錄
   3.3.執行./startup.sh
   3.4.開啟瀏覽器,輸入ip地址,出現只tomcat貓就安裝成功
   
4、tomcat常用命令


 

第四步:maven的安裝

1、maven的簡介
  1.1.maven是java專案的構建和管理工具
  1.2.用maven可以方便的建立專案,基於archetype可以建立多種型別的java專案
  1.3.maven倉庫對jar包(artifact)進行統一管理,避免jar檔案的重複拷貝和版本衝突
  1.4.團隊開發,maven管理專案的RELEASE和SNAPSHOT版本,方便多模組(module)專案的各個模組快速整合

2、maven的安裝
  2.1.安裝版本 3.0.5
  2.2.首先確保已經安裝了jdk,登陸maven官網下載3.0.5版本
  2.3.通過tar 或 unzip(windows)進行解壓縮:tar -zxvf apache-maven-3.0.5-bin.tar.gz
  2.4.配置環境變數: sudo vim /etc/profile
      在最下面增加maven的環境變數:export MAVEN_HOME=/developer/apache-maven-3.05
      注:"="後邊是安裝在系統中maven解壓縮後的位置
      export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
  2.5.執行source /etc/profile,使之生效

3、maven的驗證
  3.1.執行mvn -version進行驗證
    
4、maven的常用命令

第五步:vsftpd檔案伺服器的安裝

1、vsftpd的簡介
 1.1.vsftpd是“very secure FTP daemon”的縮寫,是一個完全免費的、開放原始碼ftp伺服器軟體

2、vsftpd安裝
 2.1.vsftpd版本:vsftpd-2.2.2-21.el6.x86_64
 2.2.執行 yum -y install vsftpd
     注:1)是否使用sudo許可權執行根據具體環境來決定
         2)rpm -qa| grep vsftpd可通過這個檢查是否已經安裝vsftpd
         3)預設配置檔案在/etc/vsftpd/vsftpd.conf

 2.3.建立虛擬使用者
     2.3.1.選擇在根或者使用者目錄下建立ftp資料夾:mkdir ftpfile
     2.3.2.新增匿名使用者: useradd ftpuser -d /ftpfile -s /sbin/nologin
     2.3.3.修改ftpfile許可權:chown -R ftpuser.ftpuser /ftpfile
     2.3.4.重設ftpuser密碼:passwd ftpuser
     注:是否使用sudo許可權執行根據具體環境決定
     2.3.5.配置:
           1)cd /etc/vsftpd
           2)sudo vim chroot_list
           3)把剛才新增的虛擬使用者新增到此配置檔案中,後續要引用
           4):wq儲存退出
           5)sudo vim /etc/selinux/config,修改為SELINUX=disabled
           6):wq儲存退出
           注:如一會驗證時候碰到550拒絕訪問請執行: sudo setsebool -P ftp_home_dir 1
               然後重啟linux伺服器,執行reroot命令
           7) sudo vim /etc/vsftpd/vsftpd.conf
                本專案要用到的配置項:
------------------------------------------------------------------------------------


1)local_root=/ftpfile(當本地使用者登入時,將被更換到定義的目錄下,預設值為各使用者的家目錄) 
2)anon_root=/ftpfile(使用匿名登入時,所登入的目錄) 
3)use_localtime=YES(預設是GMT時間,改成使用本機系統時間)
4)anonymous_enable=NO(不允許匿名使用者登入)
5)local_enable=YES(允許本地使用者登入)
6)write_enable=YES(本地使用者可以在自己家目錄中進行讀寫操作)
7)local_umask=022(本地使用者新增檔案時的umask值)
8)dirmessage_enable=YES(如果啟動這個選項,那麼使用者第一次進入一個目錄時,會檢查該目錄下是否有.message這個檔案,如果有,則會出現此檔案的內容,通常這個檔案會放置歡迎話語,或是對該目錄的說明。預設值為開啟)
9)xferlog_enable=YES(是否啟用上傳/下載日誌記錄。如果啟用,則上傳與下載的資訊將被完整紀錄在xferlog_file 所定義的檔案中。預設為開啟。)
10)connect_from_port_20=YES(指定FTP使用20埠進行資料傳輸,預設值為YES)
11)xferlog_std_format=YES(如果啟用,則日誌檔案將會寫成xferlog的標準格式)
12)ftpd_banner=Welcome to mmall FTP Server(這裡用來定義歡迎話語的字串)
13)chroot_local_user=NO(用於指定使用者列表檔案中的使用者是否允許切換到上級目錄)
14)chroot_list_enable=YES(設定是否啟用chroot_list_file配置項指定的使用者列表檔案)
15)chroot_list_file=/etc/vsftpd/chroot_list(用於指定使用者列表檔案)
16)listen=YES(設定vsftpd伺服器是否以standalone模式執行,以standalone模式執行是一種較好的方式,此時listen必須設定為YES,此為預設值。建議不要更改,有很多與伺服器執行相關的配置命令,需要在此模式下才有效,若設定為NO,則vsftpd不是以獨立的服務執行,要受到xinetd服務的管控,功能上會受到限制)
17)pam_service_name=vsftpd(虛擬使用者使用PAM認證方式,這裡是設定PAM使用的名稱,預設即可,與/etc/pam.d/vsftpd對應) userlist_enable=YES(是否啟用vsftpd.user_list檔案,黑名單,白名單都可以
18)pasv_min_port=61001(被動模式使用埠範圍最小值)
19)pasv_max_port=62000(被動模式使用埠範圍最大值)
20)pasv_enable=YES(pasv_enable=YES/NO(YES)
若設定為YES,則使用PASV工作模式;若設定為NO,則使用PORT模式。預設值為YES,即使用PASV工作模式。
   FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
   一、PORT(主動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。 
  當需要傳送資料時,客戶端在命令鏈路上用 PORT命令告訴伺服器:“我打開了****埠,你過來連線我”。於是伺服器從20埠向客戶端的****埠傳送連線請求,建立一條資料鏈路來傳送資料。
   二、PASV(被動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。 
  當需要傳送資料時,伺服器在命令鏈路上用 PASV命令告訴客戶端:“我打開了****埠,你過來連線我”。於是客戶端向伺服器的****埠傳送連線請求,建立一條資料鏈路來傳送資料。 
  從上面可以看出,兩種方式的命令鏈路連線方法是一樣的,而資料鏈路的建立方法就完全不同。而FTP的複雜性就在於此。
)
------------------------------------------------------------------------------------
    8)防火牆配置: 
                sudo vim /etc/sysconfig/iptables
                
                -A  INPUT -p TCP --dport 61001:62000 -j ACCEPT
                -A  OUTPUT -p TCP --sport 61001:62000 -j ACCEPT
                -A  INPUT -p TCP --dport 20 -j ACCEPT
                -A  OUTPUT -p TCP --sport 20 -j ACCEPT
                -A  INPUT -p TCP --dport 21 -j ACCEPT
                -A  OUTPUT -p TCP --dport 21 -j ACCEPT
                以上配置新增到防火牆中

                sudo service iptables restart 執行命令重啟防火牆

3、vsftpd驗證
   3.1.執行sudo service vsftpd restart
   3.2.執行ifconfig檢視執行vsftpd伺服器的ip地址
   3.3.開啟瀏覽器訪問:ftp://xx.xx.xx.xx
   3.4.輸入之前建立使用者賬號和密碼 例如:使用者名稱:ftpuser ,密碼:123456

4、vsftpd常用命令
   4.1.啟動:sudo service vsftpd start
   4.2.關閉:sudo service vsftpd stop
   4.3.重啟:sudo service vsftpd restart
                
            

 


看到如圖表示建立成功

 

第六步:Nginx的安裝

1、nginx的簡介

  nginx是一款輕量級的web伺服器,也是一款反向代理伺服器
  nginx可以乾的事:1)可直接支援Rails和PHP的程式
                 2)可作為HTTP反向代理伺服器
                 3)作為負載均衡伺服器
                 4)作為郵件代理伺服器
                 5)幫助前端實現動靜分離
  nginx特點:高穩定、高效能、資源佔用少、功能豐富、模組化結構、支援熱部署

2、nginx安裝
  2.1.安裝版本:1.10.2
  2.2.安裝gcc:  yum install gcc
  2.3.安裝pcre: yum install pcre-devel
  2.4.安裝zlib: yum install zlib zlib-devel
  2.5.安裝openssl: yum install openssl openssl-devel (注:如需支援ssl,才需要安裝openssl)
  綜合命令: yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

  (注:-y 表示確定安裝)
  2.6.下載原始碼包,選擇穩定版本,解壓縮安裝: wget http://nginx.org/download/nginx-1.10.2.tar.gz
  2.7.解壓: tar -zxvf nginx-1.10.2.tar.gz
  2.8.ngin安裝:
        2.8.1.進入nginx目錄之後執行./configure
              1)可以指定安裝目錄,增加引數--prefix=/usr/nginx
              2)如果不指定路徑,可以通過whereis nginx進行查詢
              3)預設安裝在 /usr/local/nginx
        2.8.2.繼續執行make
        2.8.3.繼續執行make install

3、nginx常用命令

   測試配置檔案:安裝路徑下的/nginx/sbin/nginx -t
   啟動命令:安裝路徑下的/nginx/sbin/nginx
   停止命令:安裝路徑下的/nginx/sbin/nginx -s stop 或者 nginx -s quit
   重啟命令:安裝路徑下的/nginx/sbin/nginx -s reload
   檢視程序命令: ps -ef |grep nginx
   平滑重啟:kill -HUP
   增加防火牆訪問許可權:1)sudo vim /etc/sysconfig/iptables
                     2)-A INPUT -p tcp -m state --state NEW
                       -m tcp --dport 80 -j ACCEPT
                     3)儲存退出
                     4)重啟防火牆:sudo service iptables restart

4、nginx專案配置及驗證
 配置步驟:
 4.1.編輯:sudo vim /usr/local/nginx/conf/nginx.conf
     1)增加include vhost/*.conf
     2)儲存退出
 4.2./usr/local/nginx/conf/目錄新建vhost為資料夾(即:/usr/local/nginx/conf/vhost)
 4.3.建立域名轉發配置檔案,點選檢視詳情
 4.4.啟動(重啟)驗證
     啟動:${nginx}/sbin/nginx
     重啟:${nginx}/sbin/nginx -s reload
     注:${nginx}代表安裝在系統中的路徑,例如:/usr/local/nginx
 4.5.訪問驗證
     使用預設80埠訪問驗證:http://localhost:80

5、nginx本地玩耍注意事項

第七步:MySQL安裝

1、MySQL簡介
   MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle旗下產品

2、MySQL安裝
   2.1.安裝版本:MySQL-server-5.1.73(阿里軟體源預設帶的版本)
   2.2.執行:yum -y install mysql-server

      注:1)是否使用sudo許可權執行請根據你具體環境決定
         2)rpm -qa| grep MySQL-server可通過這個檢查是否已經安裝MySQL-server
         3)預設配置檔案在 /etc/my.cnf

   2.3.字符集配置
         1)vim /etc/my.cnf
         2)新增配置,在mysqld節點下新增:
                  default-character-set=utf8
                  character-set-server=utf8
         3):wq儲存退出
         注:是否使用sudo許可權執行根據具體環境決定
           

  補充:關於中文亂碼問題
   1)在5.1版本時,為了解決中文亂碼問題,my.ini內mysql和mysqld中都寫:default-character-set=utf8
   2)在5.5版本,mysql內可以這麼寫,mysqld內不能這麼寫,而是寫:character-set-server=utf8

   2.4.自啟動配置:
           1)執行chkconfig mysqld on
           2)執行chkconfig --list mysqld檢視(如果2-5位啟用on狀態即OK)

   2.5.防火牆配置:

           1)sudo vim /etc/sysconfig/iptbles
           2)-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT 配置新增到防火牆配置中
           3):wq儲存退出
           4)sudo service iptables restart 執行命令重啟防火牆

3、MySQL服務啟動

     3.1.啟動mysqld服務service mysqld start 或/etc/rc.d/init.d/mysqld start
     3.2.MySQL初始化環境設定,因還未設定密碼,執行mysql -u root登陸mysql伺服器

4、MySQL配置
   4.1.檢視目前MySQL的使用者:select user,host,password from mysql.user
   4.2.修改root密碼:set password for [email protected]=password('youpassword');
   4.3.exit退出MySQL
   4.4.重新登陸mysql輸入mysql -u root -p
   4.5.刪除匿名使用者,執行以下sql
       1)檢視是否有匿名使用者:select user,host from MySQL.user;
       2)刪除匿名使用者:delete from mysql.user where user='';
       3)再次檢視:select user,host from mysql.user;
       4)重新整理,生效: flush privileges;
   4.6.插入mysql新使用者:
      insert into mysql.user(Host,User,Password) values ("localhost","yourusername",password("yourpassword"));
   4.7.使操作生效flush privileges;
   4.8.建立新的databsde

    CREATE DATABASE 'data1' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
   4.9.本地使用者賦予所有許可權
    grant all privileges on data1.* to [email protected] identified by 'yourpassword'
   4.10.給賬號開通外網所有許可權
    grant all privileges on data1.* to 'yourusername'@'%' identified by 'yourpassword';
    注:根據自己實際情況決定是否開什麼許可權

     如:grant select,insert,update on data1.* to [email protected]'192.168.1.2' identified by 'yourpassword';

    代表只開通增改查給指定的賬號,並指定ip地址

    4.11.使操作生效:flush privileges;


5、MySQL驗證
   5.1.執行ifconfig檢視執行mysql伺服器的ip地址
   5.2.通過mysql客戶端工具進行連線(navicat)


6、MySQL常用命令

    6.1.啟動:sudo service mysqld start
    6.2.關閉:sudo service mysqld stop
    6.3.重啟:sudo service mysqld restart









第八步:git的安裝

1、git簡介
    git是一款免費、開源的分散式版本控制系統
    特點:git是一個開源的分散式版本控制系統,可以有效,高速的處理從很小到非常大的專案版本管理

2、git安裝

    2.1.git版本 2.8.0
    2.2.從github官網下載  或者  在linux執行安裝 wget https://github.com/git/git/archive/v2.8.0.tar.gz
        注:是否使用sudo許可權執行根據具體環境決定
    2.3.安裝依賴: sudo yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

3、git配置

   3.1.配置使用者名稱(提交時會引用)
       git config --global user.name "user1" 把user1替換成自己的使用者名稱
   3.2.配置郵箱(提交時會引用)

      config --global user.email "[email protected]"

   3.3.其他配置
      git config --global merge.tool "kdiff3" 沒有裝KDiff3就不用設這一行
      git config --global core.autocrlf false 讓Git不要管Windows/Unix換行符轉換的事

   3.4.編碼配置
      git config --global gui.encoding utf-8  避免git gui中的中文亂碼
      git config --global core.quotepath off  避免git status顯示中文檔名亂碼
   3.5.git ssh key pair配置
      3.5.1.在linux的命令下:ssh-keygen -t rsa -C "[email protected]"
      3.5.2.然後一路回車,不要輸入任何密碼之類,生成ssh key pair
      3.5.3.ssh-add ~/.ssh/id_rsa
      3.5.4.cat ~/.ssh/id_rsa.pub
    注:執行ssh-add時出現could not open a connection to your authentication agent
        執行ssh-add ~/.ssh/rsa報標題上的錯誤先執行 eval 'ssh-agent'(是~鍵上的`)
        再執行ssh-add ~/.ssh/rsa成功ssh-add -l就有新加的rsa了
     3.5.5.再把其中公鑰的內容複製到剪下板
     3.5.6.本教程使用oschina的gitlab,具體根據自己情況來定
     3.5.7.登陸對應的gitlab右上角個人資料
     3.5.8.進入個人ssh公鑰配置,把剛貼上的複製新增進去,確定提交


4、git驗證

    4.1.執行git --vision命令,出現版本資訊,安裝成功



5、git 常用命令
    5.1.切換分支:git checkout 分支名
    5.2.拉取:git pull
    5.3.提交:git push