1. 程式人生 > >linux伺服器部署環境(阿里雲 centos7.4 64位+ jdk+tomcat+mysql安裝)

linux伺服器部署環境(阿里雲 centos7.4 64位+ jdk+tomcat+mysql安裝)

1.1 準備階段 1、修改 vim 讓文字編輯器顯示行號:vim /etc/vimrc 在第一行插入:set number 然後:wq儲存 2 、修改 ssh 埠 22:vim /etc/ssh/sshd_config 第17行 把 #Port 22 改為 你想要的埠 3 、修改root 密碼:passwd 輸入密碼 ,如果非root 先切換

1.2 安裝 jdk yum list installed |grep java 檢視是否安裝了jdk yum -y list java* 檢視 yum庫裡有哪些版本可以安裝 yum -y install java-1.8.0-openjdk* 安裝1.8的 jdk

    修改tomcat埠 和編碼:vi conf/server.xml

       <Connector port="80" protocol="HTTP/1.1"  connectionTimeout="20000" URIEncoding="UTF-8"  redirectPort="8443" />
修改tomcat啟動引數,主要是調大記憶體:vi /home/tomcat8/bin/catalina.sh 第 283行 (tomcat8)
      283 # ----- Execute The Requested Command -----------------------------------------
  284  JAVA_OPTS='-server -Xms2048m -Xmx2048m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=512m'

   cd  tomcat8/bin
    ./startup.sh 啟動
     發現啟動好慢, 需要2分鐘以上***************************啟動慢****************
     網上說是因為系統算隨機數的策略引起的,解決方案是調整大小
         yum install rng-tools
         systemctl start rngd

        cp /usr/lib/systemd/system/rngd.service /etc/systemd/system
        vim /etc/systemd/system/rngd.service

        修改其中ExcStart為:ExecStart=/sbin/rngd -f -r /dev/urandom
        儲存後重置服務
        systemctl daemon-reload
        systemctl restart rngd
        重啟tomcat 發現啟動非常快

        設定tomcat 開機啟動:vi /etc/rc.d/rc.local 
        增加1行:/home/zms/tomcat8/bin/startup.sh start

    然後設定 rc.local檔案的執行權:cd /etc/rc.d
    chmod +x rc.local 或者  chmod  777 rc.local

    重啟伺服器 reboot 開機 tomcat 能自己啟動了
    如果還不能啟動,那麼操作如下
    **************無法自動啟動********************************
      vim /etc/profile
      在最後面加入
     JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64 
     (不同版本位置不同 cd /etc/alternatives 然後 ls -l 就能看到
      比如 java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64)
      export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export PATH=$PATH:$JAVA_HOME/bin
      然後:source /etc/profile
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

1.4 安裝 Mysql 5.7

3.1 下載mysql源安裝包
             shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
          3.2 安裝mysql源
            shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm

          3.3 驗證源安裝是否成功
            yum repolist enabled | grep "mysql.*-community.*"

          3.4  設定預設需要安裝的mysql版本(如果安裝5.7可以忽略本步驟)
            可以修改vim /etc/yum.repos.d/mysql-community.repo源,
            改變預設安裝的mysql版本。比如要安裝5.6版本,將5.7源的enabled=1改成enabled=0。
            然後再將5.6源的enabled=0改成enabled=1即可。

          3.5  安裝
             yum install mysql-community-server 

           3.6 啟動 mysql
             systemctl start mysqld
              #停止systemctl stop mysqld

           3.7 檢視狀態 
               systemctl status mysqld
           3.8 設定開機啟動 
                systemctl enable mysqld
                systemctl daemon-reload


            3.9 修改root本地登入密碼 
                   mysql安裝完成之後,在/var/log/mysqld.log檔案中給root生成了一個預設密碼。(有時候生成的密碼是特殊字元,mysql -uroot -p 會出問題,比如生成的密碼 sX;qQZ.L;6Ml  
                   那就用轉義 sX\;qQZ.L\;6Ml 即可)

shell>grep 'temporary password' /var/log/mysqld.log
2017-05-23T04:53:37.967825Z 1 [Note] A temporary password is generated for 
[email protected]
: wztxYpby+2Gr 然後登入mysql進行修改: 注意 密碼有策略 大小寫數字和特殊字元 否則報錯 shell> mysql -uroot -pwztxYpby+2Gr(可能需要重啟先,因為可能會報 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '[email protected]';
  • 1
3.10 增加遠端登入用
#mysql -uroot [email protected]'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '[email protected]' WITH GRANT OPTION;    

增加開發人員使用賬號

GRANT ALL PRIVILEGES ON *.* TO 'dev'@'%' IDENTIFIED BY '[email protected]' WITH GRANT OPTION;

3.11 配置編碼和優化配置  `vim /etc/my.cnf` 把下面的複製 覆蓋 my.cnf
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
[client]        
port=3306
default-character-set=utf8

[mysqld]
port=3306
character_set_server=utf8
init_connect='SET NAMES utf8'
collation-server=utf8_general_ci
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

#優化引數
#設定最大連線數 預設500
max_connections=1024
#臨時表分配的記憶體 預設16M
tmp_table_size=200M
#定義了使用者可以建立的記憶體表(memory table)的大小。這個值用來計算記憶體表的最大行數值。這個變數支援動態改變 ,預設16M
max_heap_table_size=500M
#一個事務,在沒有提交的時候,產生的日誌,記錄到Cache中;等到事務提交需要提交的時候,則把日誌持久化到磁碟。預設binlog_cache_size大小32K
binlog_cache_size = 1M
#事務隔離級別 預設 REPEATABLE-READ 總共4種 READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction-isolation=REPEATABLE-READ
#資料庫欄位名名是否區分大小寫 0不區分 1 區分
lower_case_table_names = 1
#預設mysql對很多聯合查詢會報警,可以修改sql_mode       sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
3.12重啟伺服器 用新埠連結 ssh  用新密碼連結資料庫
  • 1

1.5、呼叫系統服務自動備份資料庫

操作步驟

  1. 確認crontab是否安裝:

     執行 crontab 命令如果報 command not found,就表明沒有安裝

  2. 安裝 crontab

      執行 yum install -y vixie-cron

  3. 確認是否安裝成功:

     執行 crontab -l

  4. 看是否設定了開機自動啟動
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
 systemctl is-enabled crond.service
  • 1
 如果沒有開機自啟  則執行
    5. 啟動crontab
       service crond start

  6檢視狀態
  service crond status
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2 建立 資料夾

     /home/mysql_dump
     /home/mysql_dump/data
  • 1
  • 2

3 cd /home/mysql_dump touch mysql_back.sh vi mysql_back.sh內容為:

  DB_NAME="資料庫名"
     DB_USER="root"
     DB_PASS="資料庫密碼"
     BIN_DIR="/usr/bin"
     BCK_DIR="/home/mysql_dump/data"
     DATE=`date "+%Y-%m-%d"`
     mkdir -p $BCK_DIR
    $BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -E -R --triggers  $DB_NAME > $BCK_DIR/$DB_NAME.dump_$DATE.sql
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

配置好後 先手工執行 mysql_back.sh 看能否備份 如果成功, 下一步 繼續讓計算機 自動備份

4 設定 定時任務

 root使用者登入

crontab -e
  • 1
  • 2
  • 3

輸入

分鐘/小時/日/月/周 *表示所有

如果每天凌晨 1:59執行 就

 59 01 * * *  /home/mysql_dump/mysql_back.sh  
  • 1

5 如果失敗呢 如何除錯? 1 手工執行 /home/mysql_dump/mysql_back.sh 檢查錯誤 2 如果1成功,則說明指令碼沒問題 可以crontab -e 把時間設定為下一分鐘 然後再開啟一個終端 檢視 日誌 tail -f /var/log/cron

1.6 安裝redis

    5.1   下載-- 官網下載  
  • 1
 cd /home
 wget http://download.redis.io/releases/redis-4.0.0.tar.gz
  • 1
  • 2
     5.2 解壓

         tar xzf redis-4.0.0.tar.gz

         資料夾改名字為redis
          mv redis-4.0.0 redis

     5.3  cd redis   然後 make

      5.4 啟動
        cd src
        ./redis-server &    加&是讓redis在後臺執行


      5.5  再開啟一個終端
        cd /home/zms/redis/src
        ./redis-cli

      5.6 客戶端連結上了
           設定一個值  name=zms
         set name zms
          獲取一個值 name 將顯示 zms
        get name


      5.7 設定密碼和埠
         cd /home/zms/redis/
         vi redis.conf
         大概 500行
          # requirepass foobared  改為  requirepass 123456

            // 使用密碼後,  redis-cli連結後, auth 密碼 , 密碼對的話 會顯示ok 

         Port 6379 改為 11111 //大概92行



      5.8  重啟 redis
         ./src/redis-cli
         shutdown
         ./src/redis-server

      5.9  開機自動啟動   
        vi /etc/rc.d/rc.local 
        增加一行
       /home/zms/redis/src/redis-server  /home/zms/redis/redis.conf  //因為在redis.conf修改了埠和密碼,所以這裡指定使用這個conf檔案啟動
        然後
         chmod 777 /etc/rc.d/rc.local

     5.10  程式連結不上redis 解決

      redis預設只能localhost登入,所以需要開啟遠端登入。解決方法如下:

      在redis的配置檔案redis.conf中,找到bind localhost註釋掉。
        或者  改成bind 0.0.0.0


      本地連線 redis-cli -p 埠(如果是6379就不需要 -p 6379)
      遠端連線  redis-cli -h 192.168.1.103 -p 埠

       遠端連結如果提示 在保護環境下的話,要麼設定密碼, 要麼修改redis.conf 把protected-mode 由 yes改為 no
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
					<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-7f770a53f2.css" rel="stylesheet">
            </div>
								
				<script>
					(function(){
						function setArticleH(btnReadmore,posi){
							var winH = $(window).height();
							var articleBox = $("div.article_content");
							var artH = articleBox.height();
							if(artH > winH*posi){
								articleBox.css({
									'height':winH*posi+'px',
									'overflow':'hidden'
								})
								btnReadmore.click(function(){
									articleBox.removeAttr("style");
									$(this).parent().remove();
								})
							}else{
								btnReadmore.parent().remove();
							}
						}
						var btnReadmore = $("#btn-readmore");
						if(btnReadmore.length>0){
							if(currentUserName){
								setArticleH(btnReadmore,3);
							}else{
								setArticleH(btnReadmore,1.2);
							}
						}
					})()
				</script>
				</article>