阿里雲服務器架設javaweb網站全攻略

本文記錄了從租服務器、購買域名到服務器安裝各種程序最後使用域名訪問部署到阿里雲服務器的javaweb網站的全過程。因爲是剛剛接觸阿里雲並且運維知識有限,所以知識點都比較淺顯,有寫的不到位的地方還請多多包涵!

(一)購買篇

本篇的主要內容有:租服務器、購買域名和備案。以大量圖片展示了在阿里雲網站上的操作。

一、租服務器

百度搜索阿里雲

進入官網首頁,點擊登錄

進入登錄頁面,可以使用郵箱登錄或者註冊

進入註冊頁面,填寫註冊信息

登錄成功,進入主頁,點擊雲服務ECS,點擊購買推薦或者選購配置

根據實際情況選擇產品,可能沒有貨,那麼就需要更改購買條件

如果是新用戶,購買前要實名認證,根據提示完成認證後才能下訂單

二、購買域名

點擊域名/域名列表

點擊域名註冊

查詢域名

列表中會顯示該域名是否已經被註冊,沒有被註冊的域名後面有加入清單按鈕

加入清單後,就可以去結算了

雲解析基礎版可以選購,選好了點擊立即購買即可

點擊解析,進入解析頁面,不知道怎麼用就點新手引導設置

點擊設置網站解析的立即修改,將域名與ip關聯上即可

設置好了就會看到

三、備案

點擊備案

進入備案頁面

點擊登錄備案系統,進入登錄頁面(這個是備案系統,單獨的)

(二)連接篇

本篇的主要內容有:putty、telnet、vnc三種遠程連接centos的方法。

一、Putty

優點:免費、綠色版無需安裝、支持Raw、Telnet、Rlogin、SSH、Serial等多種連接方式、操作非常簡單,輸入ip地址,點擊Open即可

CentOS要求:安裝並啓動了SSH服務(一般裝機默認),防火牆開發22端口

創建用戶:useradd -g conn putty

設置密碼:passwd putty

二、Telnet

缺點:明文傳輸不太安全,不能使用root用戶登錄;

優點:客戶端使用最簡單了,doc窗口(是個windows系統都有)下使用如下命令即可。

用法:telnet ip地址,輸入用戶名密碼即可

雖然Telnet使用簡單,但是還是有前提條件的,那麼下面我們就詳細講解一下:

1、勾選Telnet客戶端

這樣在doc窗口中就會認識telnet這個命令,否則會提示不認識這個命令。

1、CentOS中安裝Telnet

1)檢測是否安裝了telnet-server功能包,rpm -qa|grep telnet,如果安裝了就會有個版本號輸出。那麼直接跳至步驟3),否則轉向步驟2)

2)安裝telnet-server包,yum install telnet telnet-server

3)開啓服務,vi /etc/xinetd.d/telnet,找到disable=yes這行,將yes改成no,

ESC,wq保存。也可以用chkconfig telnet on直接開啓

4)激活服務,telnet是掛在xinetd底下的,所以要重新激活xinetd,用命令

service xinetd restart

5)防火牆開放23端口

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

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

/etc/rc.d/init.d/iptables restart

/etc/init.d/iptables status

6)創建組、用戶

groupadd conn # 創建遠程連接組,其他兩種方法也會被分配到conn組中

useradd -g conn telnet # 創建用戶telnet,並且分配到conn組中

passwd telnet # 設置密碼

3、測試

連接成功!

三、VNC

VNC是一款客戶端、服務器類型的程序,CentOS端使用tigervnc、tigervnc-server,windows端使用VNC-Viewer。

優點:免費、客戶端爲綠色版無需安裝、使用簡單、多用戶多窗口多連接、圖形化界面操作人機交互友好

缺點:服務器端安裝配置較複雜、佔用端口較多、服務器端需要安裝桌面佔用太多資源

下面來介紹一下具體操作吧:

1、檢查linux系統是否安裝VNC

rpm -qa | grep tigervnc

如果已安裝,卸載:

yum remove tigervnc

2、安裝

yum install tigervnc tigervnc-server

3、創建組

groupadd vnc 創建組

groupdel vnc 刪除組

cat /etc/group 查看組

4、創建用戶

創建兩個用戶vnc、bob,並且他們都被分到了vnc組

useradd -g vnc vnc

useradd -g vnc bob

相關命令:

userdel bob 刪除用戶

cat /etc/passwd 查看用戶

passwd vnc 設置密碼

5、編輯vncservers配置文件

vim /etc/sysconfig/vncservers

4、設置密碼

1)root中用vncpasswd設置密碼

2)切換用戶,輸入vncserver自動要求設置密碼

4、防火牆設置

1)可以選擇關閉防火牆

2)如果不關閉防火牆就要開放一些端口,這裏我開了4個端5900,5901,5902,5903,

因爲我有兩個服務vncserver :1和vncserver:2,所以開放4個端口

8、測試

這個東東不用安裝,直接就能使用

如果想了解更多,請閱讀附錄一。

(三)架設篇

本篇的主要內容有:安裝並配置防火牆、mysql數據庫、搭建svn服務器、安裝jdk、tomcat和memcached。

一、安裝並配置放火牆

1、安裝放火牆

service iptables status #查看防火牆狀態

iptables -L -n #查看當前iptables的配置情況(效果同上)

rpm -qa | grep iptables #查看是否安裝iptables

yum install -y iptables #安裝

yum remove iptables #卸載

service iptables start #啓動

service iptables stop #停止

service iptables restart #重啓

2、清除放火牆規則

#清除前先要將policy INPUT改成ACCEPT,表示接受一切請求。

#這個一定要先做不然清空後可能要悲劇

iptables -P INPUT ACCEPT

#清空默認所有規則

iptables -F

#清空自定義的所有規則

iptables -X

#計數器置0

iptables -Z

3、配置規則

#運行來自lo接口的數據包,如果沒有此規則,則不能通過127.0.0.1訪問本地服務,

#例如ping 127.0.0.1

iptables -A INPUT -i lo -j ACCEPT

#ssh端口22

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#FTP端口21

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

#Web服務端口80

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

#tomcat端口8080

iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

#mysql端口3306

iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

#memcached端口11211

iptables -A INPUT -p tcp --dport 11211 -j ACCEPT

#允許icmp包通過,也就是允許ping

iptabels -A INPUT -p icmp -m -icmp --icmp-type 8 -j ACCEPT

#允許所有對外請求的返回包

#本機對外請求相當於OUTPUT,對於返回數據包必須接收啊,這相當於INPUT了

iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

#如果要添加內網ip信任(接受其所有TCP請求)

iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT

#過濾所有非以上規則的請求

iptables -P INPUT DROP

4、刪除規則

#查看開放端口的編號

service iptables status

#刪除編號3的規則

iptables -D INPUT 3

5、保存

iptables -L -n #查看當前iptables的配置情況

service iptables save #保存

service iptables restart #重啓

service iptables status #查看防火牆狀態

6、開機自啓

chkconfig --list iptables #查看狀態

chkconfig iptables on #設置開機啓動

chkconfig --list iptables #查看狀態

reboot #重啓(可選)

二、安裝並配置mysql數據庫

1、安裝

rpm -qa | grep mysql #查看是否已經安裝了mysql

yum remove mysql #卸載

yum install mysql #安裝1

yum install mysql-server #安裝2

service mysqld start #啓動

service mysqld stop #停止

service mysqld restart #重啓

service mysqld status #查看狀態

2、配置

chkconfig --list mysqld #查看狀態

chkconfig mysqld on #開機自啓

chkconfig --list mysqld #查看狀態

3、給root用戶設置密碼

mysql -uroot #第一次登錄不用輸入密碼

#設置密碼(如果密碼爲123456)

mysqladmin -uroot password 123456

set password for root@localhost=password(‘123456’);

#退出命令行

exit 或 \q

#重新登錄

mysql -uroot -p123456 或 mysql -uroot -p 回車 輸入密碼:123456

4、創建用戶

#創建用戶lxl/123456,權限:所有表所有權限

grant all privileges on . to lxl@localhost identified by “123456”

#開啓遠程訪問

grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option;

#測試

可以使用navicat等工具測試遠程訪問

5、mysql常用操作

#創建數據庫(mysql命令行)

create database mr;

#導入數據庫(mysql命令行)

use mr

source /home/zd.sql

#導出數據庫(centos命令行)

cd /usr/bin # mysqldump命令所在目錄

mysqldump -ulxl -p123456 mr > mr.sql.bak

mv mr.sql.bak /home/

三、搭建svn服務器

1、安裝svn相關程序

需要安裝的軟件有:

subversion #svn服務器端程序

httpd #apache的web服務器,usvn需要部署在httpd上才能運行

mode_dav_svn #相關程序

php #usvn是用php開放的

php-mysql #相關程序

mysql-server #mysql服務器usvn配置信息持久化用,前面已經安裝過了

perl-DBI #相關程序

Perl-DBD-mysql #相關程序

mysql-devel #相關程序

mod_auth_mysql #相關程序

以上程序有的可能會安不上,沒關係繼續往下進行,如果出問題一般都是少安裝了某個程序,百度一下看看是那個沒安,安上就好了。

安裝方法,以subversion爲例:

rpm -qa | grep subversion #查看是否已安裝了該程序

yum remove subversion #卸載

yum install subversion #安裝

2、httpd配置及測試

#開機自啓(因爲我只有一臺阿里雲服務器,httpd會和tomcat爭80端口,所有沒配開機啓#動,而是手動開啓。用svn時開啓httpd關閉tomcat;用tomcat時關閉httpd開啓tomcat)

chkconfig --list httpd #查看狀態

chkconfig httpd on #開機啓動

chkconfig --list httpd #查看狀態

#開關命令

service httpd start #開啓

service httpd stop #關閉

service httpd restart #重啓

service httpd status #查看運行狀態

#測試

訪問http:服務器ip地址,看看能不能看到apache首頁

3、安裝usvn

#下載usvn

wget https://github.com/usvn/usvn/archive/1.0.6.tar.gz

#解壓

tar -zxvf 1.0.6

#移動到 /var/www/usvn 目錄下

mv usvn-1.0.6/ /var/www/usvn

#修改用戶、組

chown -R apache:apache /var/www/usvn

4、httpd上配置usvn

vim /etc/httpd/conf/httpd.conf #編輯配置文件

找到如下圖的位置,這個是apache自帶的一個項目icons。

Alias /icons/ “/var/www/icons/”

<Directory “/var/www/icons”>

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

在這段代碼下面,編寫usvn配置內容:

Alias /usvn/ “/var/www/usvn/public”

<Directory “/var/www/usvn/public”>

Options +SymLinksIfOwnerMatch

AllowOverride All

Order allow,deny

Allow from all

5、進入usvn管理網站,配置usvn初始信息

訪問:http://ip/usvn/install.php,進入usvn初始配置頁面

圖形化界面,一步一步操作即可,此處省略。

6、svn客戶端

windows環境下安裝TortoiseSVN,使用方法百度,有好多文章介紹,此處省略。

linux環境下:

#安裝subversion

rpm -qa | grep subversion #查看是否安裝subversion

yum install subversion #安裝

yum remove subversion #卸載

#使用命令行操作

svn checkout path #檢出

svn add file #添加

svn commit #提交

svn update #更新

#如果想了解更多,請閱讀附錄二

7、將本地項目上傳到服務器

1)本地數據庫上傳到svn(我的mysql在本地虛擬機centos中)

cd /usr/bin #進入mysqldump命令所在目錄

mysqldump -ulxl -p123456 mr > mr.sql.bak #導出

cd /home #進入home目錄

svn checkout http://ip地址/mystore #檢出mystore目錄

#將/usr/bin/mr.sql.bak移動到/home/mystore中並更名爲mr.sql.bak1

mv /usr/bin/mr.sql.bak /home/mystore/mr.sql.bak1

cd /home/mystore #進入/home/mystore

svn add mr.sql.bak1 #添加mr.sql.bak1

svn commit #提交

2)本地tomcat/webapps中的項目上傳到svn/mystore目錄

使用Tortoise SVN上傳項目,省略。

3)服務器端檢出mystore

cd /home #進入home目錄

svn checkout http://ip地址/mystore #檢出mystore目錄

4)服務器端導入數據庫

mysqld -ulxl -p123456 #進入mysql命令行

create database mr #創建數據庫mr

use mr #使用mr數據庫

source /home/mystore/mr.sql.bak1 #導入

show tables #查看錶

desc user #查看user表結構

select username,cellphone from user limit 0,5; #查詢數據

5)把web應用部署到tomcat

#此步驟在安裝完tomcat後操作,mr爲web應用的頂級目錄名

#將mr複製到tomcat的webapps目錄下

cp /home/mystore/mr /usr/local/tomcat7/webapps/

四、安裝並配置JDK

1、安裝

服務器端只需要安裝JRE即可,我這個是練習用的服務器,安jdk也無所謂啦^^

rpm -qa | grep jdk #查看是否安裝了jdk

yum remove jdk

#jdk-6u45-linux-x64.bin是本地上傳到svn/store中的,

#如果不清楚怎麼上傳請參照上一章

cp /home/store/jdk-6u45-linux-x64.bin /usr/java/ #將安裝包複製到/usr/java/

cd /usr/java #進入/usr/java目錄

./jdk-6u45-linux-x64.bin #安裝

mv ./jdk1.6.0_37 ./jdk1.6 #改名

2、配置

vi /etc/profile 打開profile文件,在profile文件的末尾加上:

JAVA_HOME=/usr/java/jdk1.6.0_37

PATH=JAVAHOME/bin:JAVA_HOME/bin:PATH

CLASSPATH=.:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

保存並關閉profile文件,執行source /etc/profile命令讓修改生效。

3、測試

java -version #java版本信息

java #java命令是否生效

javac #javac命令是否生效

五、安裝並配置tomcat

1、安裝

rpm -qa | grep tomcat #查看是否安裝了tomcat

rm -rf /usr/local/tomcat6 #刪除

#apache-tomcat-7.0.29.tar.gz是本地上傳到svn/store中的,

#如果不清楚怎麼上傳請參照上一章

#將壓縮包複製到/usr/local目錄下

cp /home/store/apache-tomcat-7.0.29.tar.gz /usr/local/

cd /usr/local/ #進入/usr/loal/目錄

tar -zxvf apache-tomcat-7.0.29.tar.gz #解壓縮

mv ./apache-tomcat-7.0.29 ./tomcat7 #改名

2、配置

cd /usr/local/tomcat7/bin #進入bin目錄

vi daemon.sh #配置

在正文開始的地方加入以下內容(注意將jdk等目錄結合自己的實際情況進行修改):

JAVA_HOME=/usr/java/jdk1.6

CATALINA_HOME=/usr/local/tomcat7

CATALINA_OPTS=”-Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m”

#配置Tomcat爲daemon方式啓動

#將daemon.sh拷貝到啓動目錄,安裝服務,測試服務:

#創建tomcat用戶,用來運行tomcat服務:

#在生產環境用root是不安全的,所以

useradd -s /sbin/nologin tomcat

chown -R tomcat:tomcat /usr/local/tomcat

#作爲service,和操作系統一起啓動

tar -zxvf commons-daemon-native.tar.gz

cd commons-daemon-1.0.10-native-src/unix

./configure

make

cp jsvc …/…

cd …/…

cp daemon.sh /etc/init.d/tomcat

chmod 755 /etc/init.d/tomcat

#tomcat啓動停止

service tomcat start #啓動

service tomcat stop #停止

3、測試

訪問:http://服務器ip地址:8080

4、域名訪問

vim /usr/local/tomcat7/conf/server.xml #打開配置文件

#將8080端口修改爲80

#在之前添加

service httpd stop #停掉httpd以免80端口被佔用

service tomcat start #啓動tomcat

5、測試

訪問:http://服務器ip地址,如果成功則直接進入mr項目主頁

如果域名已經解析了服務器ip

訪問域名,如果成功則直接進入mr項目主頁

六、安裝並配置memcached

1、安裝libevent

rpm -qa | grep libevent #查看是否安裝了libevent

yum remove libevent-1.4.13 #卸載

yum install libevent #安裝

2、安裝memcached

rpm -qa | grep memcached #查看

yum remove memcached #卸載

yum install memcached #安裝

3、配置

vi /etc/sysconfig/memcached

文件內容如下

PORT=”11211” #端口

USER=”root” #使用的用戶名

MAXCONN=”1024” #同時最大連接數

CACHESIZE=”64” #使用的內存大小

OPTIONS=”” #附加參數

#配置開機自啓

chkconfig --list memcached #查看

chkconfig memcached on #開機自啓

chkconfig --list memcached #查看

4、測試

package org.lxl.study.memcached.day1;

import org.junit.Test;

import com.danga.MemCached.MemCachedClient;

import com.danga.MemCached.SockIOPool;

public class TestDay1 {

/* 單例模式 */

static MemCachedClient mcc = new MemCachedClient();

static {

// 定義IP地址和端口

String[] servers = { “xxx.xxx.xxx.xxx:11211” };

// 設置緩存大小

Integer[] weights = { 2 };

// 拿到一個連接池的實例

SockIOPool pool = SockIOPool.getInstance();

// 注入服務器信息

pool.setServers(servers);

pool.setWeights(weights);

// 配置緩衝池的一些基礎信息

pool.setInitConn(5);

pool.setMinConn(5);

pool.setMaxConn(250);

pool.setMaxIdle(1000 * 60 * 60 * 6);

// 設置線程休眠時間

pool.setMaintSleep(30);

// 設置關於TCP連接

pool.setNagle(false);// 禁用nagle算法

pool.setSocketConnectTO(0);

pool.setSocketTO(3000);// 3秒超時

// 初始化

pool.initialize();

// 設置緩存壓縮

mcc.setCompressEnable(true);

mcc.setCompressThreshold(64 * 1024);

}

public static boolean set(String key, Object value) {

return mcc.set(key, value);

}

public static Object get(String key) {

return mcc.get(key);

}

@Test

public void test1() {

set(“hello”, “helloworld!”);

System.out.println(get(“hello”));

}

}

(四)附錄篇

本篇是對其它篇章的補充內容,包括:CentOS安裝圖形界面、CentOS上 svn客戶端的安裝及應用和程序下載地址。

附錄一:CentOS安裝圖形界面

一、首先查看系統的運行級別以及是否安裝了桌面環境

1、使用命令 runlevel 查看當前的運行級別 ,如圖所示

2、使用命令 yum grouplist | more  查看是否安裝了桌面環境的組件,如圖所示

二、再次從上面分析的結果看到,當前運行級別是3,而且也沒有安裝桌面環境的軟件。

然後我們使用命令查看一下桌面有哪些桌面環境的軟件,然後裝顯示出來的軟件組件就可以了。例如:

[root@localhost ~]#[root@localhost ~]#yum grouplist | more

Loaded plugins: fastestmirrorSetting up Group ProcessLoading mirror speeds from cached hostfile

updates: mirror-centos.hostingswift.com

Installed Groups:   E-mail server   Security Tools   Storage

Availability Tools   iSCSI Storage Client

Available Groups:

Additional Development

Backup Client   Backup Server

Base   CIFS file server

Client management tools

Compatibility libraries

Console internet tools

Debugging Tools

Desktop

Desktop Debugging and Performance Tools

Desktop Platform

Desktop Platform Development

Development tools

Dial-up Networking Support

Directory Client

Directory Server

Eclipse

Emacs

FCoE Storage Client

FTP server

Fonts

General Purpose Desktop

Graphical Administration Tools

Graphics Creation Tools

Hardware monitoring utilities

High Availability

High Availability Management

Identity Management Server

Infiniband Support

Input Methods

Internet Applications

Internet Browser

Java Platform

KDE Desktop

Large Systems Performance

Legacy UNIX compatibility

Legacy X Window System compatibility

Load Balancer

Mainframe Access

Messaging Client Support

MySQL Database client

MySQL Database server

NFS file server

Network Infrastructure Server

Network Storage Server

Network file system client

Networking Tools

Office Suite and Productivity

PHP Support

Performance Tools

Perl Support   PostgreSQL

Database client

PostgreSQL Database server

Print Server

Printing client

Remote Desktop Clients

Resilient Storage

Ruby Support

SNMP Support

Scientific support

Server Platform

Server Platform Development

Smart card support

System Management

System administration tools

TeX support   Technical Writing

TurboGears application framework

Virtualization

Virtualization Client

Virtualization Platform

Virtualization Tools

Web Server

Web Servlet Engine

Web-Based Enterprise Management

X Window System

Available Language Groups:

Catalan Support [ca]

Chhattisgarhi Support [hne]

Chichewa Support [ny]

Chinese Support [zh]

Coptic Support [cop]

Croatian Support [hr]

Czech Support [cs]

Danish Support [da]

Dutch Support [nl]

English (UK) Support [en_GB]

Esperanto Support [eo]

Telugu Support [te]

Tetum Support [tet]

Zulu Support [zu]

Done

從上面的軟件組信息,挑選與桌面環境有關的軟件組,然後安裝即可,我下面選擇的軟件組與輸入法還有字體等桌面環境需要用到的供大家參考一下。

yum groupinstall -y   “Desktop”   “Desktop Platform”   “Desktop Platform Development”  “Fonts”  “General Purpose Desktop”  “Graphical Administration Tools”  “Graphics Creation Tools”  “Input Methods”  “X Window System”  “Chinese Support [zh]” “Internet Browser”

後面的是安裝軟件過程,需要等等一陣時間。

三、安裝好了桌面環境的軟件,然後再修改一下系統的啓動級別 爲 5

編輯/etc/inittab文件,修改啓級別爲5,如下圖,然後重新啓動就可以進入桌面環境了。因爲我這是遠程環境的,只是運用了命令行,可以使用VNC進行桌面環境的遠程。

四、重啓的過程中,設置一下桌面環境的幾個參數就可以正常進入登陸界面了。

二、SVN客戶端命令

1、將文件checkout到本地目錄

svn checkout path(path是服務器上的目錄)

例如:svn checkout svn://192.168.1.1/pro/domain

簡寫:svn co

2、往版本庫中添加新的文件

svn add file

例如:svn add test.php(添加test.php)

svn add *.php(添加當前目錄下所有的php文件)

3、將改動的文件提交到版本庫

svn commit -m “LogMessage“ [-N] [–no-unlock] PATH(如果選擇了保持鎖,就使用–no-unlock開關)

例如:svn commit -m “add test file for my test“ test.php

簡寫:svn ci

4、加鎖/解鎖

svn lock -m “LockMessage“ [–force] PATH

例如:svn lock -m “lock test file“ test.php

svn unlock PATH

5、更新到某個版本

svn update -r m path

例如:

svn update如果後面沒有目錄,默認將當前目錄以及子目錄下的所有文件都更新到最新版本。

svn update -r 200 test.php(將版本庫中的文件test.php還原到版本200)

svn update test.php(更新,於版本庫同步。如果在提交的時候提示過期的話,是因爲衝突,需要先update,修改文件,然後清除svn resolved,最後再提交commit)

簡寫:svn up

6、查看文件或者目錄狀態

1)svn status path(目錄下的文件和子目錄的狀態,正常狀態不顯示)

【?:不在svn的控制中;M:內容被修改;C:發生衝突;A:預定加入到版本庫;K:被鎖定】

2)svn status -v path(顯示文件和子目錄狀態)

第一列保持相同,第二列顯示工作版本號,第三和第四列顯示最後一次修改的版本號和修改人。

注:svn status、svn diff和 svn revert這三條命令在沒有網絡的情況下也可以執行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。

簡寫:svn st

7、刪除文件

svn delete path -m “delete test fle“

例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”

或者直接svn delete test.php 然後再svn ci -m ‘delete test file‘,推薦使用這種

簡寫:svn (del, remove, rm)

8、查看日誌

svn log path

例如:svn log test.php 顯示這個文件的所有修改記錄,及其版本號的變化

9、查看文件詳細信息

svn info path

例如:svn info test.php

10、比較差異

svn diff path(將修改的文件與基礎版本比較)

例如:svn diff test.php

svn diff -r m:n path(對版本m和版本n比較差異)

例如:svn diff -r 200:201 test.php

簡寫:svn di

11、將兩個版本之間的差異合併到當前文件

svn merge -r m:n path

例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合併到當前文件,但是一般都會產生衝突,需要處理一下)

12、SVN 幫助

svn help

svn help ci

——————————————————————————

以上是常用命令,下面寫幾個不經常用的

——————————————————————————

13、版本庫下的文件和目錄列表

svn list path

顯示path目錄下的所有屬於版本庫的文件和目錄

簡寫:svn ls

14、創建納入版本控制下的新目錄

svn mkdir: 創建納入版本控制下的新目錄。

用法: 1、mkdir PATH…

2、mkdir URL…

創建版本控制的目錄。

1、每一個以工作副本 PATH 指定的目錄,都會創建在本地端,並且加入新增

調度,以待下一次的提交。

2、每個以URL指定的目錄,都會透過立即提交於倉庫中創建。

在這兩個情況下,所有的中間目錄都必須事先存在。

15、恢復本地修改

svn revert: 恢復原始未改變的工作副本文件 (恢復大部份的本地修改)。revert:

用法: revert PATH…

注意: 本子命令不會存取網絡,並且會解除衝突的狀況。但是它不會恢復被刪除的目錄

16、代碼庫URL變更

svn switch (sw): 更新工作副本至不同的URL。

用法: 1、switch URL [PATH]

2、switch –relocate FROM TO [PATH…]

1、更新你的工作副本,映射到一個新的URL,其行爲跟“svn update”很像,也會將

服務器上文件與本地文件合併。這是將工作副本對應到同一倉庫中某個分支或者標記的

方法。

2、改寫工作副本的URL元數據,以反映單純的URL上的改變。當倉庫的根URL變動

(比如方案名或是主機名稱變動),但是工作副本仍舊對映到同一倉庫的同一目錄時使用

這個命令更新工作副本與倉庫的對應關係。

17、解決衝突

svn resolved: 移除工作副本的目錄或文件的“衝突”狀態。

用法: resolved PATH…

注意: 本子命令不會依語法來解決衝突或是移除衝突標記;它只是移除衝突的

相關文件,然後讓 PATH 可以再次提交。

18、輸出指定文件或URL的內容。

svn cat 目標[@版本]…如果指定了版本,將從指定的版本開始查找。

svn cat -r PREV filename > filename (PREV 是上一版本,也可以寫具體版本號,這樣輸出結果是可以提交的)

新建並初始化版本庫

1.新建代碼倉庫

svnadmin create /home/myrepos

這樣,我們就在/home目錄下新建了版本庫myrepos。

2.初始化代碼倉庫

#mkdir -p code/{branches,tags,trunk}

按照svn手冊上的建議,我們版本庫的佈局採用branches/tags/trunk這樣的三個目錄。然後可以將代碼直接拷貝的trunk目錄,也可以隨後採用svn add的方式添加。

#svn import code file: ///home/myrepos

將我們構造好的版本庫佈局(以及代碼,如果已經拷貝到trunk下的話)提交到版本庫。由於這裏我們是在本地操作,因此可以直接使用file協議方式提交。格式爲:file:// + 版本庫絕對的路徑

OK,到這裏我們已經構建了一個本地版本庫,可以再本地使用svn ci的方法得到版本庫的副本了。如果前面只是提交了版本庫佈局,而沒有提交代碼的話,則可以通過如下命令,提交版本代碼:

#svn co file: ///home/myrepos/trunk repos

通常只從主線目錄trunk下取出源碼,放在了新建的repos目錄。然後可以將源碼拷貝到repos目錄。

執行以下兩條命令將代碼添加的版本庫。

#svn add *

#svn ci * -m “Committed codes”

首先需要將拷貝的代碼加入到當前的副本中,然後將代碼提交到版本庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章