天天看點

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

    每次新伺服器(包括阿裡雲)來了以後都要配置很多東西。這裡寫一下備份。

Rz sz指令安裝

1:先執行rz –y指令看看伺服器是否支援,不支援,直接安裝

2:上傳lrzsz-0.12.20.tar.gz檔案

         1)alt+p 打開sftp視窗

2)進入目錄/root/download/

         3)指令:cd/root/download

         4)進入本地機器lrzsz-0.12.20.tar.gz檔案所在目錄

         5)指令:lcd d:/

    6)上傳檔案:putd:/lrzsz-0.12.20.tar.gz ./

3:安裝

1)     進入目錄/root/download/

2)     執行指令tar -zxvf lrzsz-0.12.20.tar.gz

3)     執行指令cd lrzsz-0.12.20/進入解壓目錄

4)     執行指令./configure

5)     執行指令 make & make install

4:建立軟連接配接

1) 上面的指令預設安裝到了/usr/local/bin/目錄下,準備建立軟連接配接

2) 進入目錄 cd/usr/bin

3) 建立軟連接配接     ln -s /usr/local/bin/lrz rz 和  ln -s /usr/local/bin/lsz sz

JDK安裝

安裝說明

系統環境:centos7

安裝方式:rpm安裝

軟體:jdk-8u25-linux-x64.rpm

下載下傳位址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

檢驗系統原版本

[[email protected] ~]# java -version

java version "1.7.0_"

OpenJDK Runtime Environment (IcedTea61.11.1) (rhel-1.45.1.11.1.el6-x86_64)

OpenJDK 64-Bit Server VM (build 20.0-b12,mixed mode)

進一步檢視JDK資訊:

[[email protected] ~]#  rpm -qa | grep java

javapackages-tools-3.4.1-6.el7_0.noarch

tzdata-java-2014i-1.el7.noarch

java-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64

java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64

python-javapackages-3.4.1-6.el7_0.noarch

解除安裝OpenJDK,執行以下操作:

[[email protected] ~]# rpm -e --nodepstzdata-java-2014i-1.el7.noarch

[[email protected] ~]# rpm -e --nodepsjava-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64

[[email protected] ~]# rpm -e --nodepsjava-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64

安裝JDK

 上傳新的jdk-8u25-linux-x64.rpm軟體到/usr/local/執行以下操作:

[[email protected] local]# rpm -ivh jdk-8u25-linux-x64.rpm

 JDK預設安裝在/usr/java中。

驗證安裝

執行以下操作,檢視資訊是否正常:

[[email protected] ~]# java

[[email protected] ~]# javac

[[email protected] ~]# java -version

java version "1.8.0_25"

Java(TM) SE Runtime Environment (build1.8.0_25-b17)

Java HotSpot(TM) 64-Bit Server VM (build25.25-b02, mixed mode)

配置環境變量

我的機器安裝完jdk-7-linux-x64.rpm後不用配置環境變量也可以正常執行javac、java –version操作,是以我沒有進行JDK環境變量的配置。但是為了以後的不适之需,這裡還是記錄一下怎麼進行配置,操作如下:

修改系統環境變量檔案

vi + /etc/profile

向檔案裡面追加以下内容:

JAVA_HOME=/usr/java/jdk1.8.0_91

JRE_HOME=/usr/java/jdk1.8.0_91/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

使修改生效

[[email protected] ~]# source/etc/profile   //使修改立即生效

[[email protected] ~]#        echo $PATH   //檢視PATH值

檢視系統環境狀态

[[email protected] ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.8.0_25/bin:/usr/java/jdk1.8.0_25/jre/bin

MySql安裝

正确的安裝方法:

衆所周知,Linux系統自帶的repo是不會自動更新每個軟體的最新版本(基本都是比較靠後的穩定版),是以無法通過yum方式安裝MySQL的進階版本。是以我們需要先安裝帶有目前可用的mysql5系列社群版資源的rpm包。

#######安裝rpm包

[[email protected] ~]# rpm -Uvhhttp://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

Retrieving http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

Preparing...                          ################################# [100%]

Updating / installing...

   1:mysql-community-release-el7-5    ################################# [100%]

這時檢視目前可用的mysql安裝資源:

[root@typecodes ~]# yum repolist enabled | grep "mysql.*-community.*"

mysql-connectors-community/x86_64MySQL Connectors Community                14

mysql-tools-community/x86_64      MySQL Tools Community                      17

mysql56-community/x86_64          MySQL 5.6 Community Server                139

從上面的清單可以看出, mysql56-community/x86_64 和 MySQL 5.6 Community Server 可以使用。

是以,我們就可以直接用yum方式安裝了MySQL5.6版本了。

yum -y install mysql-community-server

MySQL安裝完成後,進行相關配置

安裝完MySQL後,需要進行一些基礎配置工作:

systemctl enable mysqld

啟動mysql服務程序    systemctl start mysqld

配置mysql(設定密碼等) mysql_secure_installation

Enter current password for root (enter fornone):

OK, successfully usedpassword, moving on...

Set root password? [Y/n]y                  [設定root使用者密碼]

New password:

Re-enter new password:

Password updatedsuccessfully!

...

Remove anonymous users?[Y/n] y                 [删除匿名使用者]

Disallow root loginremotely? [Y/n] y       [禁止root遠端登入]

Remove test database andaccess to it? [Y/n] y          [删除test資料庫]

Reload privilegetables now? [Y/n] y            [重新整理權限]

Mysql的一些問題

字段不能輸入中文問題:

在資料庫沒有表的時候執行ALTER DATABASE bugzero_db CHARACTER SET utf8; 即可

MySql指令以及權限等

登入金融編輯mysql -u root –p

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

使用者建立

CREATE USER '使用者名'@'%' IDENTIFIED BY"密碼";             //建立使用者

權限授予

grant all on *.* to 使用者名@"%"Identified by '密碼';        //授予權限

MySql備份功能添加

1.建立備份檔案夾

mkdir    /home/bak

mkdir     /home/bak/bakmysql

mkdir     /home/bak/bakmysqlold

2.建立腳本檔案

                  Vim/bak/bakmysql/backup.sh

            Chomd 755 backup.sh

                  腳本内容如下:

#!/bin/sh 

cd /home/bak/bakmysql

echo "You are in bakmysql directory"

mv /home/bak/bakmysql/* /home/bak/bakmysqlold

echo "Old databases are moved tobakmysqlold folder"

Now=$(date +"%d-%m-%Y") 

File=bakmysql-$Now.sql 

mysqldump -uroot -p'密碼' 要備份的資料庫 > $File 

echo "Your database backup successfully completed"

SevenDays=$(date -d -7day +"%d-%m-%Y") 

if [ -f /home/bak/bakmysqlold/bakmysql-$SevenDays.sql] 

then

rm -rf /home/bak/bakmysqlold/bakmysql-$SevenDays.sql 

echo "You have delete 7days ago bak file"

else

echo "7days ago bak file not exist "

fi

說明:

mysqldump -uroot -p'password' db_bbs> $File 這句中的紅色字型請分别換為你自己的mysql資料庫使用者、密碼和database名。腳本先将/home/bak/bakmysql檔案夾下bakmysql為檔案名開頭的備份檔案移至/home /bak/bakmysqlold,再生成最新的備份檔案,最後再判斷/home /bak/bakmysqlold檔案夾中七天前的檔案是否存在,存在則删除,最後結束。這樣就能自動備份最近七天的資料庫腳本。

3.運作一下看看是否可以備份成功

                  ./backup.sh

4.建立crontab

         第一步:vi /etc/crontab

      第二步:在文本中添加如下内容:0 0 * * * root /bak/bakmysql/backup.sh

      第三步:重新開機crontab:/sbin/service crond restart 

      注釋:果沒有設定crontab為開機自啟動可以如下設定其開機自啟動:chkconfig –level 35 crond on

zookeeper安裝

第一步:在Linux上安裝Zookeeper

       Zookeeper作為Dubbo服務的注冊中心,Dubbo原先基于資料庫的注冊中心,沒采用Zookeeper,Zookeeper一個分布式的服務架構,是樹型的目錄服務的資料存儲,能做到叢集管理資料 ,這裡能很好的作為Dubbo服務的注冊中心,Dubbo能與Zookeeper做到叢集部署,當提供者出現斷電等異常停機時,Zookeeper注冊中心能自動删除提供者資訊,當提供者重新開機時,能自動恢複注冊資料,以及訂閱請求。我們先在linux上安裝Zookeeper,我們安裝最簡單的單點,叢集比較麻煩。

    (1)下載下傳Zookeeper-3.4.6.tar.gz  位址http://www.apache.org/dist/zookeeper/

    (2)我們放到Linux下的一個檔案夾,然後解壓: 

      #tar -zxvf zookeeper-3.4.6.tar.gz

 (3)然後在對應的zookeeper-3.4.6/conf 下有一個檔案zoo_sample.cfg的這個檔案裡面配置了監聽用戶端連接配接的端口等一些資訊,Zookeeper 在啟動時會找zoo.cfg這個檔案作為預設配置檔案,是以我們複制一個名稱為zoo.cfg的檔案,如圖所示:

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

我們檢視一下這個檔案的裡面的一些配置資訊,如圖所示:

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

說明:

 clientPort:監聽用戶端連接配接的端口。

 tickTime:基本事件單元,以毫秒為機關。它用來控制心跳和逾時,預設情況下最小的會話逾時時間為兩倍的 tickTime。

 我們可以對配置檔案的端口等或者進行進階配置和叢集配置例如:maxClientCnxns:限制連接配接到 ZooKeeper 的用戶端的數量等

 (4)啟動Zookeeper 的服務,如圖所示:

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

到這邊Zookeeper的安裝和配置完成

Nginx安裝

linux系統為Centos 64位

第一步:從http://nginx.org/download/上下載下傳相應的版本(或者wgethttp://nginx.org/download/nginx-1.5.9.tar.gz直接在Linux上用指令下載下傳)

第二步:解壓 tar -zxvf nginx-1.5.9.tar.gz 

第三步:設定一下配置資訊 ./configure --prefix=/usr/local/nginx,或者不執行此步,直接預設配置

注意:出現錯誤如下圖情況,則運作yum -y installpcre-devel添加依賴

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

如果出現下圖,則運作yum install -yzlib-devel

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

第四步:

make 編譯(make的過程是把各種語言寫的源碼檔案,變成可執行檔案和各種庫檔案)

makeinstall 安裝(make install是把這些編譯出來的可執行檔案和庫檔案複制到合适的地方)

在配置資訊的時候,也就是在第三步,出現了一下錯誤:

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

錯誤為:./configure: error: the HTTP rewrite module requires thePCRE library.

安裝pcre-devel解決問題

yum -y install pcre-devel

還有可能出現:

錯誤提示:./configure: error: the HTTP cache module requires md5functions

from OpenSSL library.   You can either disable the module by using

--without-http-cache option, or install the OpenSSL library into the system,

or build the OpenSSL library statically from the source with nginx by using

--with-http_ssl_module --with-openssl=<path> options.

解決辦法:

yum -yinstall openssl openssl-devel

安裝後在linux下啟動和關閉nginx:

啟動操作

/usr/nginx/sbin/nginx (/usr/nginx/sbin/nginx -t 檢視配置資訊是否正确)

停止操作停止操作是通過向nginx程序發送信号(什麼是信号請參閱linux文 章)來進行的

步驟1:查詢nginx主程序号

ps -ef | grep nginx

在程序清單裡 面找master程序,它的編号就是主程序号了。

步驟2:發送信号

從容停止Nginx:

kill -QUIT 主程序号

快速停止Nginx:

kill -TERM 主程序号

強制停止Nginx:

pkill -9 nginx

另外, 若在nginx.conf配置了pid檔案存放路徑則該檔案存放的就是Nginx主程序号,如果沒指定則放在nginx的logs目錄下。有了pid文 件,我們就不用先查詢Nginx的主程序号,而直接向Nginx發送信号了,指令如下:

kill -信号類型 '/usr/nginx/logs/nginx.pid'

平滑重新開機

如果更改了配置就要重新開機Nginx,要先關閉Nginx再打開?不是的,可以向Nginx 發送信号,平滑重新開機。

平滑重新開機指令:

kill -HUP 住進稱号或程序号檔案路徑

或者使用

/usr/nginx/sbin/nginx -s reload

注意,修改了配置檔案後最好先檢查一下修改過的配置檔案是否正 确,以免重新開機後Nginx出現錯誤影響伺服器穩定運作。判斷Nginx配置是否正确指令如下:

nginx -t -c /usr/nginx/conf/nginx.conf

或者

/usr/nginx/sbin/nginx -t

如下圖:

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

Nginx指令

nginx -t 這個是測試寫的配置是否存在文法錯誤

nginx -s reload 這個是重新開機指令

Tomcat安裝

上傳apache-tomcat-7.0.69.tar.gz

解壓Tar –zxvf apache-tomcat-7.0.69.tar.gz

拷貝Cp apache-tomcat-7.0.69.tar.gz /usr/local/tomcat

/usr/local/tomcat/bin/

Redis安裝

1、首先上官網下載下傳Redis 壓縮包,位址:http://redis.io/download 下載下傳穩定版3.0.7即可。

2、通過遠端管理工具,将壓縮包拷貝到Linux伺服器中,執行解壓操作

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

3、執行make 對Redis解壓後檔案進行編譯

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

編譯完成之後,可以看到解壓檔案redis-3.0.7 中會有對應的src、conf等檔案夾,這和windows下安裝解壓的檔案一樣,大部分安裝包都會有對應的類檔案、配置檔案和一些指令檔案。

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

4、編譯成功後,進入src檔案夾,執行make install進行Redis安裝

5、安裝完成,界面如下

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

安裝成功後,下面對Redis進行部署

三、Redis的部署

1、首先為了友善管理,将Redis檔案中的conf配置檔案和常用指令移動到統一檔案中

a)建立bin和redis.conf檔案

mkdir –p /usr/local/redis/bin

mkdir –p /usr/local/redis/ect

b)執行Linux檔案移動指令:

mv /lamp/redis-3.0.7/redis.conf /usr/local/redis/etc

cd /lamp/redis-3.0.7/src

mv mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cliredis-server /usr/local/redis/bin

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

2、執行Redis-server 指令,啟動Redis 服務

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

注意:這裡直接執行Redis-server啟動的Redis服務,是在前台直接運作的(效果如上圖),也就是說,執行完該指令後,如果Lunix關閉目前會話,則Redis服務也随即關閉。正常情況下,啟動Redis服務需要從背景啟動,并且指定啟動配置檔案。

背景啟動redis:

Cd /root/download/redis-3.0.7

vim redis.conf

daemonize yes (修改為yes)

啟動指令(将修改的配置檔案添加上就好了)

         /root/download/redis-3.0.7/src/redis-server/root/download/redis-3.0.7/redis.conf &

設定redis密碼:

步驟一:如果直接運作報錯

127.0.0.1:6379> auth 123456

ERR Client sent AUTH, but no password is set

步驟二:那麼運作這步

設定其密碼

redis 127.0.0.1:6379> CONFIG SET requirepass "123456"

OK

redis 127.0.0.1:6379> AUTH 123456

Ok

關于本機ecs的redis導入阿裡雲RDS

在ecs中找到redis.config的配置檔案目錄

1.  ############################## APPEND ONLY MODE ###############################  

2.  # 是否開啟AOF,預設關閉(no)  

3.  appendonly yes  

4.    

5.  # 指定 AOF 檔案名  

6.  appendfilename appendonly.aof  

7.    

8.  # Redis支援三種不同的刷寫模式:  

9.  # appendfsync always #每次收到寫指令就立即強制寫入磁盤,是最有保證的完全的持久化,但速度也是最慢的,一般不推薦使用。  

10. appendfsync everysec #每秒鐘強制寫入磁盤一次,在性能和持久化方面做了很好的折中,是受推薦的方式。  

11. # appendfsync no     #完全依賴OS的寫入,一般為30秒左右一次,性能最好但是持久化最沒有保證,不被推薦。  

12.   

13. #在日志重寫時,不進行指令追加操作,而隻是将其放在緩沖區裡,避免與指令的追加造成DISK IO上的沖突。  

14. #設定為yes表示rewrite期間對新寫操作不fsync,暫時存在記憶體中,等rewrite完成後再寫入,預設為no  

15. no-appendfsync-on-rewrite no   

16.   

17. #目前AOF檔案大小是上次日志重寫得到AOF檔案大小的二倍時,自動啟動新的日志重寫過程。  

18. auto-aof-rewrite-percentage 100  

19.   

20. #目前AOF檔案啟動新的日志重寫過程的最小值,避免剛剛啟動Reids時由于檔案尺寸較小導緻頻繁的重寫。  

21. auto-aof-rewrite-min-size 64mb 

用指令開啟aof功能

redis-cli -h 127.0.0.1 -p 6379 config setappendonly yes

會在目錄中生成一個aof檔案,檔案是根據conf的配置檔案設定的

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

将aof導入阿裡雲RDS

redis-cli -hr-2ze182eddaf8a934.redis.rds.aliyuncs.com -p 6379 -a RunnarNet2016 --pipe <appendonly.aof

用指令關閉aof功能

redis-cli -h 127.0.0.1 -p 6379 config setappendonly no

SVN服務搭建

安裝步驟如下:

1、yum install subversion

2、輸入rpm -ql subversion檢視安裝位置,如下圖:

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

我們知道svn在bin目錄下生成了幾個二進制檔案。

輸入 svn --help可以檢視svn的使用方法,如下圖。

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

3、建立svn版本庫目錄

mkdir -p /var/svn/svnrepos

4、建立版本庫

svnadmin create /var/svn/svnrepos

執行了這個指令之後會在/var/svn/svnrepos目錄下生成如下這些檔案

centos7.0伺服器常用程式安裝。mysql、nginx、tomcat、redis、zookeeper

5、進入conf目錄(該svn版本庫配置檔案)

authz檔案是權限控制檔案

passwd是帳号密碼檔案

svnserve.conf SVN服務配置檔案

6、設定帳号密碼

vi passwd

在[users]塊中添加使用者和密碼,格式:帳号=密碼,如user=pwd

7、設定權限

vi authz

在末尾添加如下代碼:

[/]

dan=rw

w=r

意思是版本庫的根目錄dan對其有讀寫權限,w隻有讀權限。

8、修改svnserve.conf檔案

vi svnserve.conf

打開下面的幾個注釋:

anon-access = read #匿名使用者可讀

auth-access = write #授權使用者可寫

password-db = passwd #使用哪個檔案作為賬号檔案

authz-db = authz #使用哪個檔案作為權限檔案

realm = /var/svn/svnrepos # 認證空間名,版本庫所在目錄

9、啟動svn版本庫

svnserve -d -r /var/svn/svnrepos

繼續閱讀