• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

写给java开发的运维笔记(初级篇)-极客文库-知识库

知识库 勤劳的小蚂蚁 4个月前 (01-01) 86次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

如果图片无法查看或格式错乱,请前往极客文库-知识库查看原文

目录

  1. 在虚拟机里安装centos6
  2. 初始化操作系统
  3. 安装jdk环境
  4. 安装tomcat
  5. 安装mysql及配置
  6. 安装nginx
  7. 安装redis3
  8. 安装svn服务

在虚拟机里安装centos6

基础环境

  • 操作系统:Win7操作系统
  • 虚拟机:VMware® Workstation 12 Pro
  • Linux系统:CentOS 64位

接下里我们创建一个Linux虚拟机。

这里选择自定义配置

我们选择了Workstation 8x, 为了兼容低版本的vmvware

稍后安装操作系统

选择Linux -> centos64位

保存虚拟机到本地文件夹

选择处理器数量和核心数,这里我选择默认的,根据你的机器情况可适当调整。

设置Centos内存,我设置1G

如果你在局域网环境并且希望其他人可以访问到你的centos,可以选择桥接模式,
这里我只有宿主机访问虚拟机,就设置了NAT模式,桥接的时候会和宿主机处于同一IP段。


这里选择默认即可。


磁盘大小设置20G,用到更多可以累加上去,然后将虚拟磁盘存储为单文件,防止磁盘碎片。

点击完成。

选择你的IOS镜像文件,如果没有可以在 这里 下载

安装操作系统

这里要检查硬件,可以直接跳过。

选择语言环境,我选择英文,避免在以后的操作中遇到未知的错误。


确定将配置写入到磁盘

这里就默认把,暂时用不到

选择时区,我们选择Asia/shanghai

设置你的ROOT用户密码,请牢记以后会经常用到。

使用全部空间,就不分区了。

将修改写入到磁盘。

等待CentOS为你安装基础软件环境。

看到这个界面你的CentOS就安装完成了,点击REBOOT即重启机器。
可以进行下一关了,上车!

初始化操作系统

Ok,我们安装好了CentOS系统,可以使用SSH工具连接上去进行尝试了,我推荐使用 [XShell] 这款工具,支持中文,还有一些主题使用。

现在我们还不知道CentOS的IP是无法连接的,所以先在虚拟机中启动CentOS。

这里账户输入 root 密码是你在安装的时候设置的。

网络配置

这时候我们键入 ifconfig 查看ip

[root@localhost ~]# ifconfig 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

发现还没有,我们需要设置一下网卡配置。

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

使用 vi 命令编辑第一块网卡的配置

DEVICE=eth0
HWADDR=00:0C:29:50:58:BE
TYPE=Ethernet
UUID=58f93b51-314d-49bb-9db2-036bf91161fb
ONBOOT=no
NM_CONTROLLED=yes
BOOTPROTO=dhcp

只需要将 ONBOOT 修改为 yes ,然后保存。

[root@localhost ~]# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  
Determining IP information for eth0... done.
                                                           [  OK  ]

这时候我们再查看一下ip

[root@localhost ~]# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:50:58:BE  
          inet addr:192.168.100.128  Bcast:192.168.100.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe50:58be/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:302 errors:0 dropped:0 overruns:0 frame:0
          TX packets:189 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:33591 (32.8 KiB)  TX bytes:29591 (28.8 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

网卡的配置已经被应用到了,我们CentOS的IP是 192.168.100.128 你的可能和我不一样,那这个192.168.100开头的网段是在哪里设置的呢?

点击虚拟网络编辑器

如果你在执行 service network restart 的时候失败可以在这里修改一个网段试试。

此时你已经可以使用SSH工具连接到你的CenOS主机了。

关于更详细的网络设置大家可以参考这2篇文章:

yum源设置

先安装 wget 工具,我们安装的操作系统mini版的,默认没有wget命令,执行以下命令:

yum install -y wget

然后设置yum源,我选择的是网易的源,你也可以设置阿里的或者其他。

cd /etc/yum.repos.d
mv CentOS-Base.repo bak-CentOS-Base.repo
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
yum clean all
yum makecache

安全性的配置在这里先不讲解,我们先用 root账户来操作。

安装jdk环境

服务器上如果不需要编码实际应该不安装JDK只安装JRE,我们考虑到以后可能安装其他软件就直接装JDK了。

下载JDK

下载jdk

上面的连接是stackoverflow有开发者写的不使用cookie下载jdk和jre的命令。

[root@localhost ~]# wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz

解压

[root@localhost ~]# tar -zxvf jdk-8u171-linux-x64.tar.gz
[root@localhost ~]# mkdir /usr/local/java
[root@localhost ~]# mv jdk1.8.0_171/ /usr/local/java/

配置环境变量

[root@localhost ~]# vim /etc/profile

在最后一行添加

# java
export JAVA_HOME=/usr/local/java/jdk1.8.0_171
export JRE_HOME=/usr/local/java/jdk1.8.0_171/jre
export CLASSPATH=.:$JRE_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

生效

[root@localhost ~]# source /etc/profile
[root@localhost ~]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

这里我安装的是最新版的JDK。

安装tomcat

上一章节我们安装了JDK的环境,Tomcat运行的前提是要有JDK环境。

下载Tomcat

[root@localhost ~]# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.5/bin/apache-tomcat-8.5.5.tar.gz
[root@localhost ~]# tar -zxvf apache-tomcat-8.5.5.tar.gz
[root@localhost ~]# mv apache-tomcat-8.5.5 /usr/local/tomcat8

启动tomcat

[root@localhost ~]# cd /usr/local/tomcat8/bin/
[root@localhost bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME:        /usr/local/java/jdk1.8.0_102/jre
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

现在打开 http://192.168.100.128:8080 应该就可以看到Tomcat的汤姆猫页面。
而事实是你看到这个:

哦草。。。为什么,机智的同学已经想到了,防火墙啊。对我们没有对防火墙进行任何配置,实际上8080端口是不对外开放的,
那么如何解决呢?

  • 关闭防火墙
  • 开放8080端口

配置防火墙

在CentOS上关闭防火墙是非常简单的

[root@localhost bin]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]

这时候你再访问 http://192.168.100.128:8080 就可以看到

当然这种方式是简单粗暴的,我们在真实服务器上不可能这么做,怎么做呢?

[root@localhost bin]# vim /etc/sysconfig/iptables

我们看到 iptables 的默认配置是这样的:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

只需要添加一行和 22 端口一样的配置:

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

这样既把8080的TCP端口对外开放了,然后重启防火墙

[root@localhost bin]# service iptables restart
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]

可以达到同样的效果。

安装mysql及配置

卸载旧版本

查找本机是否已经安装mysql

[root@localhost ~]# rpm -qa | grep mysql
mysql-libs-5.1.73-7.el6.x86_64

卸载

[root@localhost ~]# rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64

安装MySQL

这里我们使用yum方式进行安装,编译安装比较慢也很繁琐,查看系统里面有没有mysql的repo

[root@localhost ~]# yum repolist all | grep mysql
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Repository contrib is listed more than once in the configuration

先执行如下语句,安装相关依赖

[root@localhost ~]# yum install gcc-c++ jemalloc-devel openssl-devel openssl -y

安装mysql的yum源

[root@localhost ~]# wget http://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm

然后更新

[root@localhost ~]# sudo rpm -Uvh  mysql57-community-release-el6-8.noarch.rpm 
warning: mysql57-community-release-el6-8.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                ########################################### [100%]
   1:mysql57-community-relea########################################### [100%]

更新源,将mysql56的 enable 置为1,其余置为0

[root@localhost ~]# vim /etc/yum.repos.d/mysql-community.repo

修改后是这样

[root@localhost ~]# cat /etc/yum.repos.d/mysql-community.repo
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-preview]
name=MySQL Tools Preview
baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

执行安装

[root@localhost ~]# yum install -y mysql-community-server

启动Mysql

ok,安装完成了,我们启动mysql

[root@localhost ~]# service mysqld start

配置MySQL

yum安装的时候会把mysql的配置文件存放在 /etc/my.cnf 这个位置,在第一次启动的时候可以看到。

设置mysql root密码

有两种方式可以设置mysql的root密码

[root@localhost ~]# /usr/bin/mysqladmin -u root password 'new-password'

或者通过该命令给root账号设置密码

[root@localhost ~]# mysqladmin -u root password 'new-password'

此时我们就可以使用刚才设置的密码进行登录了

[root@localhost ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.33 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

设置开机启动

我们可以 通过 chkconfig mysqld on 命令来设置mysql开机启动

[root@localhost ~]# chkconfig mysqld on

看一下

[root@localhost ~]# chkconfig --list | grep mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

在这一步Mysql的安装就已经完成了,我们先步入下一个软件的安装,在之后的章节中还会继续讲解Mysql的配置。

安装nginx

在安装nginx前,需要确保系统安装了g++、gcc、openssl-devel、pcre-devel和zlib-devel软件。

[root@localhost ~]# yum -y install gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel

下载nginx

[root@localhost ~]# wget http://nginx.org/download/nginx-1.10.1.tar.gz
[root@localhost ~]# tar -zxvf nginx-1.10.1.tar.gz
[root@localhost ~]# cd nginx-1.10.1
[root@localhost nginx-1.10.1]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module

上面 --prefix 配置nginx所在目录,--with-http_ssl_module配置nginx支持ssl,配置https会用到。

编译安装

[root@localhost nginx-1.10.1]# make && make install

来看看

[root@localhost nginx-1.10.1]# ll /usr/local/nginx/
total 16
drwxr-xr-x. 2 root root 4096 Sep  9 22:07 conf
drwxr-xr-x. 2 root root 4096 Sep  9 22:07 html
drwxr-xr-x. 2 root root 4096 Sep  9 22:07 logs
drwxr-xr-x. 2 root root 4096 Sep  9 22:07 sbin

启动nginx

[root@localhost nginx-1.10.1]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx

这样就启动nginx,nginx默认监听在80端口,但是我们不要忘了把80端口对外开放。

/etc/sysconfig/iptables 中添加80端口

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

保存后重启一下防火墙

[root@localhost sbin]# service iptables restart
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]

访问 http://192.168.100.128/ 你将看到

关闭nginx

#查询nginx主进程号 
[root@localhost sbin]# ps -ef | grep nginx
#停止进程 
[root@localhost sbin]# kill -QUIT 主进程号 
#快速停止 
[root@localhost sbin]# kill -TERM 主进程号 
#强制停止 
[root@localhost sbin]# pkill -9 nginx

重启nginx

[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload

配置nginx为服务

[root@localhost ~]# vim /etc/init.d/nginx

将服务脚本粘贴进去

服务脚本

#!/bin/sh  
# chkconfig: 2345 85 15  
# description:Nginx Server  

NGINX_HOME=/usr/local/nginx  
NGINX_SBIN=$NGINX_HOME/sbin/nginx  
NGINX_CONF=$NGINX_HOME/conf/nginx.conf  
NGINX_PID=$NGINX_HOME/logs/nginx.pid  

NGINX_NAME="Nginx"  

. /etc/rc.d/init.d/functions  

if [ ! -f $NGINX_SBIN ]  
then  
    echo "$NGINX_NAME startup: $NGINX_SBIN not exists! "  
    exit  
fi  

start() {  
    $NGINX_SBIN -c $NGINX_CONF  
    ret=$?  
    if [ $ret -eq 0 ]; then  
        action $"Starting $NGINX_NAME: " /bin/true  
    else  
        action $"Starting $NGINX_NAME: " /bin/false  
    fi  
}  

stop() {  
    kill `cat $NGINX_PID`  
    ret=$?  
    if [ $ret -eq 0 ]; then  
        action $"Stopping $NGINX_NAME: " /bin/true  
    else  
        action $"Stopping $NGINX_NAME: " /bin/false  
    fi  
}  

restart() {  
    stop  
    start  
}  

check() {  
    $NGINX_SBIN -c $NGINX_CONF -t  
}  


reload() {  
    kill -HUP `cat $NGINX_PID` && echo "reload success!"  
}  

relog() {  
    kill -USR1 `cat $NGINX_PID` && echo "relog success!"  
}  

case "$1" in  
    start)  
        start  
        ;;  
    stop)  
        stop  
        ;;  
    restart)  
        restart  
        ;;  
    check|chk)  
        check  
        ;;  
    status)  
        status -p $NGINX_PID  
        ;;  
    reload)  
        reload  
        ;;  
    relog)  
        relog  
        ;;  
    *)  
        echo $"Usage: $0 {start|stop|restart|reload|status|check|relog}"  
        exit 1  
esac

给脚本可执行权限

[root@localhost ~]# chmod +x /etc/init.d/nginx

然后你就可以使用 service nginx start 的方式启动nginx了

[root@localhost ~]# service nginx
Usage: /etc/init.d/nginx {start|stop|restart|reload|status|check|relog}

添加到开机项

[root@localhost ~]# chkconfig --add nginx
[root@localhost ~]# chkconfig
auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
blk-availability    0:off   1:on    2:on    3:on    4:on    5:on    6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
iscsi           0:off   1:off   2:off   3:on    4:on    5:on    6:off
iscsid          0:off   1:off   2:off   3:on    4:on    5:on    6:off
lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
mdmonitor       0:off   1:off   2:on    3:on    4:on    5:on    6:off
multipathd      0:off   1:off   2:off   3:off   4:off   5:off   6:off
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
nginx           0:off   1:off   2:on    3:on    4:on    5:on    6:off
postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
saslauthd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off

我们可以看到nginx已经被添加到开机启动了。

安装redis3

安装依赖软件

yum install -y gcc*
yum install -y tcl

安装redis

[root@localhost ~]# wget http://download.redis.io/releases/redis-3.2.3.tar.gz
[root@localhost ~]# tar -zxvf redis-3.2.3.tar.gz
[root@localhost ~]# cd redis-3.2.3
[root@localhost redis-3.2.3]# make
[root@localhost redis-3.2.3]# make test
[root@localhost redis-3.2.3]# make install
[root@localhost redis-3.2.3]# cd utils
[root@localhost redis-3.2.3]# chmod +x install_server.sh
[root@localhost redis-3.2.3]# ./install_server.sh

在install的时候提示选项,全部选择默认即可,你看到如下画面表示安装成功

Please select the redis port for this instance: [6379] 
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] 
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] 
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] 
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server] 
Selected config:
Port           : 6379
Config file    : /etc/redis/6379.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!

测试一下

[root@localhost ~]# redis-cli
127.0.0.1:6379> set name jack
OK
127.0.0.1:6379> get name
"jack"

查看redis状态

[root@localhost ~]# service redis_6379 status
Redis is running (14927)

启动/关闭redis

[root@localhost ~]# service redis_6379 stop
Stopping ...
Waiting for Redis to shutdown ...
Redis stopped
[root@localhost ~]# service redis_6379 start
Starting Redis server...

设置redis认证密码

[root@localhost ~]# vim /etc/redis/6379.conf

找到 # requirepass foobared# 去掉,设置一个密码。

然后重启redis

[root@localhost ~]# service redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...

wow,你已经完成初级篇的所有任务了,接下里我们会玩点有趣的 :)

安装svn服务

Subversion是一个自由,开源的版本控制系统。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。Subversion是Apache基金会下的一个项目,官网 https://subversion.apache.org

安装依赖

[root@localhost ~]# yum install sqlite sqlite-devel apr-util apr-util-devel -y

安装subversion

[root@localhost ~]# wget http://mirrors.cnnic.cn/apache/subversion/subversion-1.8.16.tar.gz
[root@localhost ~]# tar -zxvf subversion-1.8.16.tar.gz
[root@localhost ~]# cd subversion-1.8.16
[root@localhost subversion-1.8.16]# ./configure --prefix=/usr/local/subversion
[root@localhost subversion-1.8.16]# make && make install

配置环境

[root@localhost ~]# vim /etc/profile

加入 PATH=$PATH:/usr/local/subversion/bin

查看版本

[root@localhost ~]# svn --version
svn, version 1.8.16 (r1740329)
   compiled Sep 26 2016, 06:42:53 on x86_64-unknown-linux-gnu

Copyright (C) 2016 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

开始配置

建立仓库目录

[root@localhost ~]# mkdir -p /data/svn/repos

创建版本

[root@localhost ~]# svnadmin create /data/svn/repos/

修改配置

[root@localhost ~]# vim /data/svn/repos/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd  #用户密码文件
authz-db = authz  #授权登录文件
realm = repos

修改/data/svn/repos/conf/passwd文件,添加用户及密码:

[root@localhost ~]# vim /data/svn/repos/conf/passwd

[users]
username=password #用户名=密码   一行一个

修改/data/svn/repos/conf/authz文件,控制用户权限

[root@localhost ~]# vim /data/svn/repos/conf/authz

注意:

  • 权限配置文件中出现的用户名必须已在用户配置文件中定义。
  • 对权限配置文件的修改立即生效,不必重启svn。

用户组格式:

[groups]
= ,

其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:

[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>

其中,方框号内部分可以有多种写法:

  • [/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/home/svndata,[/]就是表示对全部版本库设置权限。
  • [repos:/] 表示对版本库repos设置权限;
  • [repos:/abc] 表示对版本库repos中的abc项目设置权限;
  • [repos:/abc/aaa] 表示对版本库repos中的abc项目的aaa目录设置权限;
  • 权限主体可以是用户组用户*,用户组在前面加@*表示全部用户。
    权限可以是wrwr和空,空表示没有任何权限。

启动SVN

[root@localhost ~]# svnserve -d --listen-port 10901 -r /data/svn
  • -d :表示以daemon方式(后台运行)运行;
  • –listen-port 10901 :表示使用10901端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限;
  • -r /data/svn :指定根目录是/data/svn。

将svn作为服务

#!/bin/bash
# build this file in /etc/init.d/svn
# chmod 755 /etc/init.d/svn
# centos下可以用如下命令管理svn: service svn start(restart/stop)
SVN_HOME=/home/svn
if [ ! -f "/usr/local/subversion/bin/svnserve" ]
then
    echo "svnserver startup: cannot start"
    exit
fi
case "$1" in
    start)
        echo "Starting svnserve..."
        /usr/local/subversion/bin/svnserve -d --listen-port 10901 -r $SVN_HOME
        echo "Finished!"
        ;;
    stop)
        echo "Stoping svnserve..."
        killall svnserve
        echo "Finished!"
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: svn { start | stop | restart } "
        exit 1
esac

wow,你已经完成初级篇的所有任务了,接下里我们会玩点有趣的 :)


丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:写给java开发的运维笔记(初级篇)-极客文库-知识库
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00