天天看點

linux下redis,JDK,mysql,tomcat等部署

1.JDK部署

1.将安裝包放置/home目錄下,可用WinSCP軟體進行檔案傳輸,

2.解壓到/usr/local目錄下,指令為tar -zxvf /home/jdk-7u80-linux-x64.tar.gz -C /usr/local

3.可以将檔案夾名字更改,mv jdk1.7.0_80 jdk1.7

4.配置jdk的環境變量,打開/etc/profile檔案,添加

export JAVA_HOME=/usr/local/jdk1.7

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

打開檔案并編輯指令:vi /etc/profile,然後儲存Esc,加: wq 退出編輯,儲存并退出,

source /etc/profile #使配置檔案立即生效

5.測試是否安裝成功,輸入 java -version

2.Tomcat部署

1.将安裝包放置/home目錄下,可用WinSCP軟體進行檔案傳輸,

2.解壓到/usr/local目錄下,指令為tar -zxvf /home/apache-tomcat-7.0.72.tar.gz -C /usr/local

3.可以将檔案名字更改,mv apache-tomcat-7.0.72 tomcat7

4.啟動tomcat  指令:/usr/local/tomcat7/bin/startup.sh

5.打開日志tail -f /usr/local/tomcat7/logs/catalina.out

6.可以在linux系統進行通路了,如果想在window系統進行通路,這裡是通路不了,因為預設情況下,linux的防火牆是開啟的,8080的端口是不可以進行外部通路,最根本的解決辦法,是在防火牆規則裡添加需要外部通路的端口号規則,使用下面的指令來實作:

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

再輸入

/etc/rc.d/init.d/iptables save

最後輸入

service iptables restart

可以進行檢視是否添加了8080

/etc/init.d/iptables status

3.Mysql部署

1,安裝包 mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

2,建立使用者和目錄

建立使用者mysql,組mysql。後面mysql就使用這個使用者來運作(注意這也是mysql啟動腳本中預設的使用者,是以最好不要改名)。

#groupadd mysql

#useradd -r -g mysql mysql

(使用-r參數表示mysql使用者是一個系統使用者,不能登入)

建立目錄/work/program,後面mysql就安裝在這個目錄下面。

#mkdir /work/program

3,安裝

将前面得到的mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz解壓至/work/program目錄下

#tar zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz -C /work/program

注意,如果mysql目錄下沒有data目錄,手動建一個。

注意,tmp目錄不存在,請建立之。

注意檢查mysql使用者是否有data和tmp目錄的操作權限,沒有的話sock檔案不能生成。

是以要對mysql進行權限設定

【目錄權限設定】

将mysql及其下所有的目錄所有者群組均設為mysql:

#cd /work/program/mysql

#chown mysql:mysql -R .

#chgrp -R mysql .

【初始化】

#/work/program/mysql/bin/mysqld --initialize --user=mysql --datadir=/work/program/mysql/data --basedir=/work/program/mysql

初始化成功後出現如下資訊:

201x-xx-xxT07:10:13.583130Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

201x-xx-xx T07:10:13.976219Z 0 [Warning] InnoDB: New log files created, LSN=45790

201x-xx-xx T07:10:14.085666Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

201x-xx-xx T07:10:14.161899Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 1fa941f9-effd-11e5-b67d-000c2958cdc8.

201x-xx-xx T07:10:14.165534Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

201x-xx-xx T07:10:14.168555Z 1 [Note] A temporary password is generated for [email protected]: q1SLew5T_6K, 

注意最後一行,這也是和之有版本不同的地方,它給了root一個初始密碼,後面要登入的時候要用到這個密碼。

【配置】

将mysql/support-files下的my-default.cnf,拷到/etc下,并改名為my.cnf(或者考到{mysql}下,然後作一個軟連結到/etc下):

#cp /work/program/mysql/support-files/my-default.cnf /etc/my.cnf

my.cnf中關鍵配置:

[client]

socket = /work/program/mysql/tmp/mysql.sock

[mysqld]

basedir = /work/program/mysql

datadir = /work/program/mysql/data

port = 3306

user=mysql

socket = /work/program/mysql/tmp/mysql.sock

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

4,在linux運作

【運作伺服器程式】

#{mysql}/bin/mysqld_safe&

注:在這個啟動腳本裡已預設設定--user=mysql;在腳本末尾加&表示設定此程序為背景程序,差別就是在控制台輸入bg,即可将目前程序轉入背景,目前shell可進行其他操作。

【停止mysql】

{mysql}/bin/mysqladmin -uroot -p

(注意此時的root是指mysql的root使用者)

5,設定mysql以服務運作并且開機啟動

将{mysql}/ support-files/mysql.server拷貝為/etc/init.d/mysql并設定運作權限

#cp mysql.server /etc/init.d/mysql

#chmod +x /etc/init.d/mysql

把mysql注冊為開機啟動的服務

#chkconfig --add mysql

當然也可以手動進行服務的開啟和關閉:

#/etc/init.d/mysql start

#/etc/init.d/mysql stop

6,linux進行登入

#{mysql}/bin/mysql -uroot -p

此時要求輸入密碼,就是前面初始化時生成的密碼。

連上後,在做任何操作前,mysql要求要改掉root的密碼後才能進行操作。

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

mysql> alter user 'root'@'localhost' identified by 'xxxxxxx';

7,提供給外部進行通路,開放3306端口,

1.登入linux下的mysql,

2.修改mysql庫的user表,将host項,從localhost改為%。%這裡表示的是允許任意host通路,如果隻允許某一個ip通路,則可改為相應的ip,比如可以将localhost改為192.168.1.123,這表示隻允許區域網路的192.168.1.123這個ip遠端通路mysql。

mysql> use mysql;

mysql> update user set host = '%' where user = 'root';

mysql> select host, user from user;

mysql> flush privileges;

3.開放3306端口

1、打開防火牆配置檔案

vi  /etc/sysconfig/iptables

2、增加下面一行

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

3、重新開機防火牆

service  iptables restart

注意:增加的開放3306端口的語句一定要在icmp-host-prohibited之前

然後就完美!!!!!!!

4.SVN管理部署

簡單說明:

subversion(簡稱svn)是近幾年崛起的版本管理軟體,是cvs的接班人,目前絕大多數開源軟體都使用svn作為代碼版本管理軟體。Subversion支援Linux和windows,但較多安裝在linux下。

svn伺服器有兩種運作方式:獨立伺服器和借助于apache。 svn://或http://

svn用戶端tortoisesvn

svn的基本工作原理: 在一台伺服器上建立一個源代碼庫,庫裡可以存放許多不同項目的源程式。有源代碼庫管理者統一管理這些源程式。每個使用者在使用源代碼庫之前,首先要把源代碼庫裡德項目檔案下載下傳到本地,然後開發人員可以在本地修改,左後用svn指令進行送出,遊源代碼庫統一管理修改。

版本控制解決了:

*代碼管理混亂

*解決代碼沖突困難

*在代碼整合期間引發bug

*無法對代碼的擁有者進行權限控制

*項目不同版本的釋出困難

配置流程:http://blog.csdn.net/shb_derek1/article/details/18605255

自己的整理流程:

1.安裝subversion,httpd mod_dav_svn mod_perl ,wget gcc-c++ make unzip perl* 

指令:

1.yum install subversion

2.yum install httpd mod_dav_svn mod_perl 

3.yum install wget gcc-c++ make unzip perl* 

2.基本的SVN伺服器配置

1,建立一個目錄用于存儲SVN所有東西

mkdir /home/svn

2,建立一個版本倉庫

Svnadmin create /home/svn/project

3,初始化版本倉庫中的目錄

這裡其實就是你對外提供的檔案夾名字,看自己想什麼名字

也可以不用設定,到時候用工具進行添加檔案夾

# mkdir project project/server project/client project/test (建立臨時目錄)

# svn import project/ file:///home/svn/project -m “初始化SVN目錄”

# rm -rf project (删除臨時建立的目錄)

4,添加使用者

要添加SVN使用者非常簡單,隻需在/home/svn/project/conf/passwd檔案添加一個形如“username=password”的條目就可以了。為了測試,我添加了如下内容

[users]

# harry = harryssecret

# sally = sallyssecret

luoyaping = 711s9d31

admin = 711s9d31

5,修改使用者通路政策

/home/svn/project/conf/authz記錄使用者的通路政策,以下是參考:

[groups]

project_p = admin

project_s = luoyaping

[project:/]

@project_p = rw

* =

[project:/server]

@project_p = rw

@project_s = rw

* =

[project:/client]

@project_p = rw

* =

[project:/doc]

@project_p = rw

@project_s = r

* =

說明:以上資訊表示,隻有project_p使用者組有根目錄的讀寫權。r表示對該目錄有讀權限,w表示對該目錄有寫權限,rw表示對該目錄有讀寫權限。最後一行的* =表示,除了上面設定了權限的使用者組之外,其他任何人都被禁止通路本目錄。這個很重要,一定要加上!

6,修改svnserve.conf檔案,讓使用者和政策配置升效.

svnserve.conf内容如下:

[general]

anon-access = none

auth-access = write

password-db = /home/svn/project/conf/passwd

authz-db = /home/svn/project/conf/authz

7,啟動伺服器

# svnserve -d -r /home/svn

注意:如果修改了svn配置,需要重新開機svn服務,步驟如下:

# ps -aux|grep svnserve

# kill -9 ID号

# svnserve -d -r /home/svn

3.配置SVN伺服器的HTTP支援

1,轉換SVN伺服器的密碼

由于SVN伺服器的密碼是明文的,HTTP伺服器不與支援,是以需要轉換成HTTP支援的格式。我寫了一個Perl腳本完成這個工作.

腳本内容如下:

# cd /home/svn/project/conf/

# vim PtoWP.pl

文檔填寫内容:

#!/usr/bin/perl

# write by huabo, 2009-11-20

use warnings;

use strict;

#open the svn passwd file

open (FILE, "passwd") or die ("Cannot open the passwd file!!!n");

#clear the apache passwd file

open (OUT_FILE, ">webpasswd") or die ("Cannot open the webpasswd file!!!n");

close (OUT_FILE);

#begin

foreach (<FILE>) {

if($_ =~ m/^[^#].*=/) {

$_ =~ s/=//;

`htpasswd -b webpasswd $_`;

}

}

儲存後,輸入指令

# chmod +x PtoWP.pl

# ./PtoWP.pl

會列印:

Adding password for user pm

Adding password for user server_group

Adding password for user client_group

Adding password for user test_group

此時目錄下會多一個webpasswd檔案,表示成功

2,修改httpd.conf,添加關于SVN伺服器的内容

編輯/etc/httpd/conf/httpd.conf,在最後添加如下資訊:

<Location /project>

DAV svn

SVNPath /home/svn/project/

AuthType Basic

AuthName "svn for project"

AuthUserFile /home/svn/project/conf/webpasswd

AuthzSVNAccessFile /home/svn/project/conf/authz

Satisfy all

Require valid-user

</Location>

3,修改svn目錄的屬主為apache帳号:chown -R apache.apache /home/svn/project/

(注意:原文少了這一步,會出權限問題。)

4,重新開機Web伺服器:

# /etc/init.d/httpd restart

Stopping httpd: [FAILED]

Starting httpd: [ OK ]

基本的就ok了,還有一些自動備份,修改通知郵箱,修改必須送出注釋,看網站

5.mave配合nexus 搭建 jar包的私服

比較簡單:不做過程了,結合兩個網站去看

http://blog.csdn.net/top_code/article/details/50818352

http://www.cnblogs.com/quanyongan/archive/2013/04/24/3037589.html

6.redis部署

http://www.cnblogs.com/codersay/p/4301677.html

http://blog.csdn.net/basycia/article/details/52176025

http://www.codeceo.com/article/centos-redis-setup.html

http://blog.csdn.net/rachel_luo/article/details/8858250

http://www.linuxidc.com/Linux/2012-06/62809.htm

http://www.bubuko.com/infodetail-1006383.html

http://xueliang1yi.blog.163.com/blog/static/1145570162012102114635764/

1,檢視系統是否安裝了GCC,如果沒有則需要安裝一下軟體

yum install cpp

    yum install binutils

    yum install glibc

     yum install glibc-kernheaders

    yum install glibc-common

     yum install glibc-devel

     yum install gcc

     yum install make

2,解壓redis包,

3,進入redis解壓後的檔案夾目錄下,輸入指令make,因為該目錄下有Makefile檔案

4,如果正常情況,最後幾行會出現

Hint: To run ‘make test’is a good idea

make[1]: Leaving directory `/opt/redis-2.8.13/src’

5,執行make install指令,如果正常會提示

cd src && make install

make[1]: Entering directory `/opt/redis-2.8.13/src'

Hint: To run 'make test' is a good idea  

    INSTALL install

    INSTALL install

    INSTALL install

    INSTALL install

    INSTALL install

make[1]: Leaving directory `/opt/redis-2.8.13/src'

6,即安裝成功,沒有必要去執行make test,

7,對redis.conf進行基本的配置,比如修改背景daemon運作,詳細看網站

8,開機啟動

vi /etc/rc.d/rc.local

redis-server /usr/local/redis/etc/redis.conf   

9,開放端口

#關閉防火牆  

service iptables stop  

vi /etc/sysconfig/iptables  

#添加  

-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT  

#重新開機防火牆  

service iptables restart  

7.RocketMQ單機部署

1,解壓,等就不說了,需要jdk的支援

2,環境變量;

linux下redis,JDK,mysql,tomcat等部署

3,适當的修改記憶體方面的東西

linux下redis,JDK,mysql,tomcat等部署
linux下redis,JDK,mysql,tomcat等部署

都修改大小

4,修改hosts的檔案,是否外網對應

linux下redis,JDK,mysql,tomcat等部署

Mq的意思是主機名字 左邊的位址是外網位址

5,啟動,都是在mq的安裝目錄的bin目錄下操作

Nameserver啟動:

nohup sh mqnamesrv -n 192.168.127.130:9876 &

檢視是否啟動:

tail -f nohup.out

如果啟動成功,會有提示成功單詞

Mqbroker啟動:

nohup sh mqbroker -n 192.168.127.130:9876 &

檢視是否啟動如上

注意點,如果broker對應的是内網,則需要跟進配置檔案來進行啟動

具體看http://blog.csdn.net/dlf123321/article/details/51514263

6,開放端口(這裡關于你的系統的防火牆問題。不太懂)

正常的就搞定的就是開啟10911和9876端口,指令:

lokkit -p 9876:tcp -p 10911:tcp

7.http://blog.csdn.net/lang_man_xing/article/details/47447769

8.指令

繼續閱讀