阿里云服务器架设javaweb网站全攻略

本文记录了从租服务器、购买域名到服务器安装各种程序最后使用域名访问部署到阿里云服务器的javaweb网站的全过程。因为是刚刚接触阿里云并且运维知识有限,所以知识点都比较浅显,有写的不到位的地方还请多多包涵!


(一)购买篇

本篇的主要内容有:租服务器、购买域名和备案。以大量图片展示了在阿里云网站上的操作。

一、租服务器

百度搜索阿里云

阿里云服务器架设javaweb网站全攻略_第1张图片

进入官网首页,点击登录

阿里云服务器架设javaweb网站全攻略_第2张图片

进入登录页面,可以使用邮箱登录或者注册

阿里云服务器架设javaweb网站全攻略_第3张图片

进入注册页面,填写注册信息

阿里云服务器架设javaweb网站全攻略_第4张图片

登录成功,进入主页,点击云服务ECS,点击购买推荐或者选购配置

阿里云服务器架设javaweb网站全攻略_第5张图片

根据实际情况选择产品,可能没有货,那么就需要更改购买条件

阿里云服务器架设javaweb网站全攻略_第6张图片

如果是新用户,购买前要实名认证,根据提示完成认证后才能下订单

阿里云服务器架设javaweb网站全攻略_第7张图片

二、购买域名

点击域名/域名列表

阿里云服务器架设javaweb网站全攻略_第8张图片

点击域名注册

查询域名

阿里云服务器架设javaweb网站全攻略_第9张图片

列表中会显示该域名是否已经被注册,没有被注册的域名后面有加入清单按钮

阿里云服务器架设javaweb网站全攻略_第10张图片

加入清单后,就可以去结算了

阿里云服务器架设javaweb网站全攻略_第11张图片

云解析基础版可以选购,选好了点击立即购买即可

点击解析,进入解析页面,不知道怎么用就点新手引导设置

阿里云服务器架设javaweb网站全攻略_第12张图片

点击设置网站解析的立即修改,将域名与ip关联上即可

阿里云服务器架设javaweb网站全攻略_第13张图片

设置好了就会看到

三、备案

点击备案

阿里云服务器架设javaweb网站全攻略_第14张图片

进入备案页面

阿里云服务器架设javaweb网站全攻略_第15张图片

点击登录备案系统,进入登录页面(这个是备案系统,单独的)

阿里云服务器架设javaweb网站全攻略_第16张图片 阿里云服务器架设javaweb网站全攻略_第17张图片


(二)连接篇

本篇的主要内容有:putty、telnet、vnc三种远程连接centos的方法。

一、Putty

优点:免费、绿色版无需安装、支持Raw、Telnet、Rlogin、SSH、Serial等多种连接方式、操作非常简单,输入ip地址,点击Open即可

阿里云服务器架设javaweb网站全攻略_第18张图片

CentOS要求:安装并启动了SSH服务(一般装机默认),防火墙开发22端口

创建用户:useradd -g conn putty

设置密码:passwd putty

 

二、Telnet

缺点:明文传输不太安全,不能使用root用户登录;

优点:客户端使用最简单了,doc窗口(是个windows系统都有)下使用如下命令即可。

用法:telnet ip地址,输入用户名密码即可

虽然Telnet使用简单,但是还是有前提条件的,那么下面我们就详细讲解一下:

1、勾选Telnet客户端

这样在doc窗口中就会认识telnet这个命令,否则会提示不认识这个命令。

阿里云服务器架设javaweb网站全攻略_第19张图片

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

ESCwq保存。也可以用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、创建用户

创建两个用户vncbob,并且他们都被分到了vnc

useradd -g vnc vnc

useradd -g vnc bob

相关命令:

# userdel bob 删除用户

# cat /etc/passwd 查看用户

# passwd vnc 设置密码

 

5、编辑vncservers配置文件

vim /etc/sysconfig/vncservers


4、设置密码

1root中用vncpasswd设置密码

阿里云服务器架设javaweb网站全攻略_第20张图片

2)切换用户,输入vncserver自动要求设置密码

阿里云服务器架设javaweb网站全攻略_第21张图片


4、防火墙设置

1)可以选择关闭防火墙

2)如果不关闭防火墙就要开放一些端口,这里我开了4个端5900,5901,5902,5903

因为我有两个服务vncserver :1vncserver:2,所以开放4个端口


8测试

这个东东不用安装,直接就能使用

阿里云服务器架设javaweb网站全攻略_第22张图片

阿里云服务器架设javaweb网站全攻略_第23张图片

阿里云服务器架设javaweb网站全攻略_第24张图片

阿里云服务器架设javaweb网站全攻略_第25张图片

如果想了解更多,请阅读附录一。

(三)架设篇

本篇的主要内容有:安装并配置防火墙、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会和tomcat80端口,所有没配开机启#动,而是手动开启。用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/”

 

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

在这段代码下面,编写usvn配置内容:

Alias /usvn/ “/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=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$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项目主页

如果域名www.jmi777.com已经解析了服务器ip

访问:www.jmi777.com,如果成功则直接进入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(keyvalue);

}

 

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  查看是否安装了桌面环境的组件,如图所示


阿里云服务器架设javaweb网站全攻略_第26张图片

二、再次从上面分析的结果看到,当前运行级别是3,而且也没有安装桌面环境的软件。

  然后我们使用命令查看一下桌面有哪些桌面环境的软件,然后装显示出来的软件组件就可以了。例如:

00001. 

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

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

* base: mirrors.usc.edu * extras: centos.mirror.ndchost.com *

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"

后面的是安装软件过程,需要等等一阵时间。

阿里云服务器架设javaweb网站全攻略_第27张图片

阿里云服务器架设javaweb网站全攻略_第28张图片

三、安装好了桌面环境的软件,然后再修改一下系统的启动级别 为 5

编辑/etc/inittab文件,修改启级别为5,如下图,然后重新启动就可以进入桌面环境了。因为我这是远程环境的,只是运用了命令行,可以使用VNC进行桌面环境的远程。

阿里云服务器架设javaweb网站全攻略_第29张图片

阿里云服务器架设javaweb网站全攻略_第30张图片

阿里云服务器架设javaweb网站全攻略_第31张图片

四、重启的过程中,设置一下桌面环境的几个参数就可以正常进入登陆界面了,谢谢。

阿里云服务器架设javaweb网站全攻略_第32张图片

阿里云服务器架设javaweb网站全攻略_第33张图片

阿里云服务器架设javaweb网站全攻略_第34张图片

阿里云服务器架设javaweb网站全攻略_第35张图片

阿里云服务器架设javaweb网站全攻略_第36张图片


附录二:CentOS上的svn客户端

转自:http://www.cnblogs.com/zox2011/archive/2012/08/14/2637769.html 

 

yum install -y subversion

 

二、SVN客户端命令

 

1、将文件checkout到本地目录

svn checkout pathpath是服务器上的目录) 

例如: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  www.2cto.com  

 

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、查看文件或者目录状态

1svn status path(目录下的文件和子目录的状态,正常状态不显示) 

?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】 

2svn status -v path(显示文件和子目录状态

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

注:svn statussvn 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  www.2cto.com  

 

11、将两个版本之间的差异合并到当前文件

svn merge -r m:n path 

例如:svn merge -r 200:205 test.php(将版本200205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

 

12SVN 帮助

 

svn help 

svn help ci 

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

以上是常用命令,下面写几个不经常用的

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

13、版本库下的文件和目录列表

svn list path 

显示path目录下的所有属于版本库的文件和目录 

简写:svn ls

 

14、创建纳入版本控制下的新目录

svn mkdir: 创建纳入版本控制下的新目录。 

用法: 1mkdir PATH… 

2mkdir URL… 

创建版本控制的目录。 

1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增 

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

2、每个以URL指定的目录,都会透过立即提交于仓库中创建。 

在这两个情况下,所有的中间目录都必须事先存在。

 

 15、恢复本地修改

 

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

用法: revert PATH… 

注意本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录  

 16、代码库URL变更

 

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

用法: 1switch URL [PATH] 

2switch –relocate FROM TO [PATH...]  

1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将 

服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的 

方法。 

2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动 

(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用 

这个命令更新工作副本与仓库的对应关系。

 

 17、解决冲突

 

svn resolved: 移除工作副本的目录或文件的冲突状态。 

用法: resolved PATH… 

注意本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的 

相关文件,然后让 PATH 可以再次提交。  www.2cto.com  

 

 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"

首先需要将拷贝的代码加入到当前的副本中,然后将代码提交到版本库。

附录三:程序下载地址

文中用到的工具都放到我的百度云盘中了,下载地址:http://pan.baidu.com/s/1mgUaeNY

阿里云服务器架设javaweb网站全攻略_第37张图片


你可能感兴趣的:(java,web)