本篇文章介绍Python中的glob模块的基本使用。glob模块可以按指定路径得到所有符合条件的文件的完整路径。
glob的使用体验类似于windows系统中常用的搜索功能。使用通配符进行搜索

简介

glob是Python中最简单的模块之一,功能很简单,类似于windows中的查找文件。使用如下通配符进行操作:

  • * 星号:表示匹配0个或多个字符
  • ? 问号:表示匹配单个字符
  • [] 中括号: 匹配指定的范围。如[0-9]

glob.glob

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>>> import glob
>>> files_path = glob.glob("/tmp/npm*")
>>> type(file_paths)
<type 'list'>
>>> for f in files_path:
... print f
...
/tmp/npm-7838-2b67e940
/tmp/npm-5331-1d55c699
/tmp/npm-6600-69f3511a
/tmp/npm-5116-69883a41
/tmp/npm-5009-8ef54da7
/tmp/npm-7792-fec6155a
/tmp/npm-3252-71dc8e8e
/tmp/npm-4344-50e90470
/tmp/npm-6387-29ec15b1
/tmp/npm-4617-fff22b70
/tmp/npm-4456-b90bb1d8
/tmp/npm-6480-cce3191b
/tmp/npm-4062-60f050ce
/tmp/npm-4712-1ca9017c
/tmp/npm-3770-aec98483
/tmp/npm-3913-8678ef60
/tmp/npm-5235-03941a1e

重点看类型! list !!! 返回的是一个列表

glob.iglob

iglob用来获取一个可迭代对象,再对其遍历。数据量非常大的时候比较适用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>>> import glob
>>> files_path = glob.iglob("/tmp/npm*")
>>> type(files_path)
<type 'generator'>
>>> for f in files_path:
... print f
...
/tmp/npm-7838-2b67e940
/tmp/npm-5331-1d55c699
/tmp/npm-6600-69f3511a
/tmp/npm-5116-69883a41
/tmp/npm-5009-8ef54da7
/tmp/npm-7792-fec6155a
/tmp/npm-3252-71dc8e8e
/tmp/npm-4344-50e90470
/tmp/npm-6387-29ec15b1
/tmp/npm-4617-fff22b70
/tmp/npm-4456-b90bb1d8
/tmp/npm-6480-cce3191b
/tmp/npm-4062-60f050ce
/tmp/npm-4712-1ca9017c
/tmp/npm-3770-aec98483
/tmp/npm-3913-8678ef60
/tmp/npm-5235-03941a1e

上面的实例可以看出使用glob.iglob返回的是一个可迭代对象,可以节省内存。

dstat 是一款比较全面的性能监控工具,是排查服务器负载异常的利器!

dstat的安装

dstat的安装在这里介绍三种方式

  • 使用”绿色版”安装

    1
    2
    3
    4
    5
    wget http://dstat.sourcearchive.com/downloads/0.7.0/dstat_0.7.0.orig.tar.gz
    tar -xvzf dstat_0.7.0.orig.tar.gz
    cd dstat-0.7.0.orig/
    #使用以下方式即可使用dstat
    ./dstat -V
  • 使用rpm安装

    1
    2
    3
    4
    wget http://mirror.centos.org/centos/6/os/i386/Packages/dstat-0.7.0-2.el6.noarch.rpm
    rpm -ivh dstat-0.7.0-2.el6.noarch.rpm
    #直接在系统中调用dstat即可
    dstat -V
  • 使用yum安装

    yum install dstat

dstat的使用

dstat命令支持的参数这里就不再赘述啦,以下介绍一下个人比较常用的两种参数

  1. dstat -tcdrlmn –top-cpu –top=mem #查看时间、CPU、磁盘读写、IO、负载、内存、网络、最高的CPU占用和最高的内存占用
    1
    2
    3
    4
    5
    6
    7
    ----system---- ----total-cpu-usage---- -dsk/total- --io/total- ---load-avg--- ------memory-usage----- -net/total- -most-expensive- --most-expensive-
    date/time |usr sys idl wai hiq siq| read writ| read writ| 1m 5m 15m | used buff cach free| recv send| cpu process | memory process
    19-11 21:49:25| 0 0 100 0 0 0|1055B 1810B|0.02 0.07 |0.02 0.01 0| 236M 131M 2961M 4527M| 0 0 |kipmi0 0.0|sshd: root@p4488k
    19-11 21:49:26| 0 0 100 0 0 0| 0 0 | 0 0 |0.02 0.01 0| 236M 131M 2961M 4527M| 398B 1532B| |sshd: root@p4488k
    19-11 21:49:27| 0 0 100 0 0 0| 0 0 | 0 0 |0.02 0.01 0| 236M 131M 2961M 4527M| 352B 542B| |sshd: root@p4488k
    19-11 21:49:28| 0 0 100 0 0 0| 0 0 | 0 0 |0.02 0.01 0| 236M 131M 2961M 4527M| 850B 542B| |sshd: root@p4488k
    19-11 21:49:29| 0 0 100 0 0 0| 0 0 | 0 0 |0.02 0.01 0| 236M 131M 2961M 4527M| 256B 542B| |sshd: root@p4488k
  2. dstat -cl -C 0,1,2,3,4,5,6,7 –top-cpu #查看8颗核心,每颗核心的使用情况和CPU使用情况
    1
    2
    3
    4
    5
    6
    7
    8
    	-------cpu0-usage--------------cpu1-usage--------------cpu2-usage--------------cpu3-usage--------------cpu4-usage--------------cpu5-usage--------------cpu6-usage--------------cpu7-usage------ ---load-avg--- -most-expensive-
    usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq| 1m 5m 15m | cpu process
    0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0|0.07 0.02 0|kipmi0 0.0
    0 0 100 0 0 0: 0 0 100 0 0 0: 0 1 99 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0|0.07 0.02 0|
    0 0 100 0 0 0: 0 0 100 0 0 0: 1 1 98 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0|0.07 0.02 0|kipmi0 0.1
    0 1 99 0 0 0: 0 0 100 0 0 0: 2 0 98 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0|0.07 0.02 0|events/3 0.1
    0 0 100 0 0 0: 0 0 100 0 0 0: 1 1 98 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0|0.07 0.02 0|
    0 0 100 0 0 0: 0 0 100 0 0 0: 1 0 99 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0: 0 0 100 0 0 0|0.07 0.02 0|kipmi0 0.1

本文介绍在CentOS系统下升级Python,安装pip, fabric的操作

安装Python部分

  1. 第一步当然是下载最新版本的Python了!
    1
    2
    cd /usr/local/src
    wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
  2. 解压、编译、安装
    1
    2
    3
    4
    5
    yum install gcc
    tar -xvzf Python-2.7.8.tgz
    cd Python2.7.8
    ./configure --prefix=/usr/local/python2.7
    make && make install
  3. 创建链接使系统默认的Python变成Python2.7
    ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python
  4. 查看一下Python的版本
    python -V
  5. 修改yum配置(否则更新了默认Python后的yum无法正常运行)
    vim /usr/bin/yum

将第一行#!/usr/bin/python 修改为原有的Python2.6版本
#!/usr/bin/python2.6
—> CentOS系统升级Python成功完成

安装pip部分

  1. 下载自动安装pip的脚本
    1
    2
    cd /usr/local/src/
    wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
  2. 执行安装pip的命令
    python get-pip.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    第一次执行pythonget-pip.py报错:
    zipimport.ZipImportError: can't decompress data; zlib not available

    解决zlib的问题:
    # yum install zlib zlib-devel
    然后重新编译Python(./configure&& make && make install)

    第二次执行python get-pip.py报错:
    ImportError: cannot import name HTTPSHandler

    # yum install openssl openssl-devel
    然后重新编译Python(./configure&& make && make install)
  3. 创建使用pip的链接
    ln -s /usr/local/python2.7/bin/pip /usr/bin/pip

安装fabric部分

  1. 执行安装fabric的命令
    pip install fabric
  2. 创建使用fab命令的链接
    ln -s /usr/local/python2.7/bin/fab /usr/bin/fab

很多时候,使用CentOS自带的软件源并不能解决所有的软件依赖包。这里介绍在CentOS或RHEL系列中安装epel源和rpmforce源

安装epel源


CentOS5 Or RHEL5 32bit

1
rpm -ivh http://mirrors.kernel.org/fedora-epel/5/i386/epel-release-5-4.noarch.rpm

CentOS5 Or RHEL5 64bit

1
rpm -ivh http://mirrors.kernel.org/fedora-epel/5/x86_64/epel-release-5-4.noarch.rpm

CentOS6 Or RHEL6 32bit

1
rpm -ivh http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm

CentOS6 Or RHEL6 64bit

1
rpm -ivh http://mirrors.kernel.org/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

CentOS7 Or RHEL7 64bit

1
rpm -ivh http://mirrors.kernel.org/fedora-epel/7/x86_64/e/epel-release-7-5.noarch.rpm

测试

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@rhel65-test-1 ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirror.bit.edu.cn
* epel: mirrors.opencas.cn
* extras: mirrors.yun-idc.com
* updates: mirrors.yun-idc.com
repo id repo name status
base CentOS-6 - Base 6,575
epel Extra Packages for Enterprise Linux 6 - x86_64 11,780
extras CentOS-6 - Extras 43
updates CentOS-6 - Updates 439
repolist: 18,837

#安装rpmforce源


CentOS5 Or RHEL5 32bit

1
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm

CentOS5 Or RHEL5 64bit

1
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm

CentOS6 Or RHEL6 32bit

1
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm

CentOS6 Or RHEL6 64bit

1
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@rhel65-test-1 ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirror.bit.edu.cn
* epel: mirrors.opencas.cn
* extras: mirrors.yun-idc.com
* rpmforge: mirrors.neusoft.edu.cn
* updates: mirrors.yun-idc.com
repo id repo name status
base CentOS-6 - Base 6,575
epel Extra Packages for Enterprise Linux 6 - x86_64 11,780
extras CentOS-6 - Extras 43
rpmforge RHEL 6 - RPMforge.net - dag 4,718
updates CentOS-6 - Updates 439
repolist: 23,555

附录:内置源替换为163源

  • 收录架构

    i386
    x86_64
    SRPMS

  • 收录版本

    所有版本

  • 更新时间

    每4小时更新一次

  • 使用说明

    首先备份/etc/yum.repos.d/CentOS-Base.repo

1
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  • 下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)

CentOS7
CentOS6
CentOS5

  • 运行以下命令生成缓存
1
2
yum clean all
yum makecache

相关连接:163yum源官方帮助

在vim或vi的编辑器中,经常需要跳转到文件的最后一行,或跳转至文件首行的情况。下面介绍两种方式实现跳转

第一种方式


  • :$ 跳转到最后一行
  • :1 跳转到第一行

第二种方式


  • shift+g 跳转到最后一行
  • gg 跳转到第一行

nodejs一般是当成一条命令执行的,当用户断开session,nodejs也就停止了运行。如何让nodejs持续在后台运行呢?

#最简单粗暴的方法是使用Linux本身后台执行的特性


使用&符号后台执行,并利用nohup命令实现进程禁止挂起

nohup node app.js &

#使用forever让node.js持久运行


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
npm install forever -g   #安装
forever start app.js #启动应用
forever stop app.js #关闭应用
forever restartall #重启所有应用

#输出日志和错误
forever start -l forever.log -o out.log -e err.log app.js

# 指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log
forever start -l forever.log app.js

# 指定app.js中的日志信息和错误日志输出文件,
# -o 就是console.log输出的信息,-e 就是console.error输出的信息
forever start -o out.log -e err.log app.js

# 追加日志,forever默认是不能覆盖上次的启动日志,
# 所以如果第二次启动不加-a,则会不让运行
forever start -l forever.log -a app.js

# 监听当前文件夹下的所有文件改动(不太建议这样)
forever start -w app.js

# 显示所有运行的服务
forever list

######停止操作

# 停止所有运行的node App
forever stopall

# 停止其中一个node App
forever stop app.js

# 当然还可以这样
# forever list 找到对应的id,然后:
forever stop [id]

# 开发环境下
NODE_ENV=development forever start -l forever.log -e err.log -a app.js
# 线上环境下
NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js
#上面加上NODE_ENV为了让app.js辨认当前是什么环境用的

The End


在日常运维工作中,常常遇到需要安装一些依赖的库文件。在实际工作中,一次在Linux中安装SQL Server ODBC驱动时,遇到一个依赖的库文件需要安装(libcrypto.so.6)

可是使用yum provides命令查询libcrypto.so.6文件包含在哪个软件包中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@manage final]# yum provides libcrypto.so.6
已加载插件:dellsysid, fastestmirror, refresh-packagekit, security
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
Loading mirror speeds from cached hostfile
* base: mirrors.btte.net
* epel: mirrors.opencas.cn
* extras: mirrors.btte.net
* rpmforge: ftp.riken.jp
* updates: mirrors.yun-idc.com
openssl098e-0.9.8e-18.el6_5.2.i686 : A compatibility version of a general cryptography and TLS library
Repo : base
匹配来自于:
Other : libcrypto.so.6

通过查询可以看出,libcrypto.so.6文件包含在openssl098e的软件包中,接下来只需要使用yum安装openssl098e即可解决依赖问题

方法1: 用SET PASSWORD命令


1
2
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法2:用mysqladmin


1
2
3
mysqladmin -u root password "newpass"
#如果root已经设置过密码,采用如下方法
mysqladmin -u root password oldpass "newpass"

方法3: 用UPDATE直接编辑user表


1
2
3
4
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;

在丢失root密码的时候,可以这样


1
2
3
4
mysqld_safe --skip-grant-tables&
mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
mysql> FLUSH PRIVILEGES;

The End


1.第一步当然是下载最新版本的Python了!


1
2
cd /usr/local/src
wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz

2.解压、编译、安装


1
2
3
4
5
yum install gcc
tar -xvzf Python-2.7.10.tgz
cd Python-2.7.10
./configure --prefix=/usr/local/python2.7
make && make install

3.创建链接使系统默认的Python变成Python2.7


ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python

4.查看一下Python的版本


python -V

5.修改yum配置(否则更新了默认Python后的yum无法正常运行)


1
2
3
vim /usr/bin/yum
将第一行#!/usr/bin/python 修改为原有的Python2.6版本 #!/usr/bin/python2.6
CentOS系统升级Python成功完成

本文介绍在CentOS6系列下使用MySQL部署Seafile服务器

#1.下载服务器版本的安装包


  • 可以在这个页面中下载最新的服务器安装包 Seafile官方下载页面

  • 也可以使用wget命令直接下载:

wget http://download-cn.seafile.com/seafile-server_4.4.1_x86-64.tar.gz

#2.创建服务根目录


1
2
3
4
mkdir -p /FileCloud/installed
cd /FileCloud/installed
wget http://download-cn.seafile.com/seafile-server_4.4.1_x86-64.tar.gz
tar -xvzf seafile-server_4.4.1_x86-64.tar.gz

#3.依赖包


##3.1升级Python

默认的Python为2.6.6版本,这里将其升级至2.7以上版本

升级Python过程详见此篇文档

##3.2 依赖包

安装MySQL服务并开机自启动

1
2
3
yum install mysql-server
service mysqld start
chkconfig mysqld on

为MySQL中的的root用户设置密码

1
2
3
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password');
mysql> quit

其他依赖包的安装

yum install MySQL-python python-setuptools python-imaging

#4.安装Seafile组件


1
2
cd /FileCloud/installed/seafile-server-4.4.1
./setup-seafile-mysql.sh

进入到文本交互界面,如下仅供参考:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Press ENTER to continue
Enter

What is the name of the server? It will be displayed on the client.
3 - 15 letters or digits
[ server name ] xxFileCloud

What is the ip or domain of the server?
For example: www.mycompany.com, 192.168.1.101
[ This server's ip or domain ] 192.168.3.131

Where do you want to put your seafile data?
Please use a volume with enough free space
[ default "/FileCloud/installed/seafile-data" ] Enter

Which port do you want to use for the seafile fileserver?
[ default "8082" ] Enter

------------------------------------------------------------------
Please choose a way to initialize seafile databases:
------------------------------------------------------------------
[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases
[ 1 or 2 ] 1

What is the host of mysql server?
[ default "localhost" ] Enter

What is the port of mysql server?
[ default "3306" ] Enter

What is the password of the mysql root user?
[ root password ] "root's password of mysql"

verifying password of user root ... done

Enter the name for mysql user of seafile. It would be created if not exists.
[ default "root" ] `Enter`

Enter the database name for ccnet-server:
[ default "ccnet-db" ] `Enter`

Enter the database name for seafile-server:
[ default "seafile-db" ] `Enter`

Enter the database name for seahub:
[ default "seahub-db" ] `Enter`

---------------------------------
This is your configuration
---------------------------------

server name: xxFileCloud
server ip/domain: 192.168.3.131

seafile data dir: /FileCloud/installed/seafile-data
fileserver port: 8082

database: create new
ccnet database: ccnet-db
seafile database: seafile-db
seahub database: seahub-db
database user: root

------------------------------------------------------------------
Press ENTER to continue, or Ctrl-C to abort
------------------------------------------------------------------
Generating ccnet configuration ...

done
Successly create configuration dir /kfc/installed/ccnet.
Generating seafile configuration ...

Done.
done
Generating seahub configuration ...

-------------------------------------------------------------
Now creating seahub database tables ...
-------------------------------------------------------------
creating seafile-server-latest symbolic link ... done

------------------------------------------------------------------
Your seafile server configuration has been finished successfully.
-------------------------------------------------------------------
run seafile server: ./seafile.sh { start | stop | restart }
run seahub server: ./seahub.sh { start <port> | stop | restart <port> }

-------------------------------------------------------------------
If you are behind a firewall, remember to allow input/output of these tcp ports:
--------------------------------------------------------------------
port of seafile fileserver: 8082
port of seahub: 8000

When problems occur, Refer to

https://github.com/haiwen/seafile/wiki

for information.

#开启Seafile服务


##设置打开文件描述符的最大数量

1
2
ulimit -n 65535
echo "ulimit -n 65535" >> /etc/rc.local

##启动 Seafile 服务器和 Seahub 网站

  • 启动Seafile服务

    cd /FileCloud/installed/seafile-server-4.4.1 && ./seafile.sh start

1
2
3
4
5
6
[root@localhost seafile-server-4.4.1]# ./seafile.sh start

Starting seafile server, please wait ...
Seafile server started

Done.
  • 启动Seahub服务(不加端口号默认运行在8000端口,可改配置文件)

    cd /FileCloud/installed/seafile-server-4.4.1 && ./seahub.sh start 80

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@kfc seafile-server-4.4.1]# ./seahub.sh start 80

LC_ALL is not set in ENV, set to en_US.UTF-8
Starting seahub at port 80 ...

----------------------------------------
It's the first time you start the seafile server. Now let's create the admin account
----------------------------------------

What is the email for the admin account?
[ admin email ] polarsnow@20150509.cn #这里的账号最好填写能收到邮件的邮箱用于忘记密码后找回密码使用

What is the password for the admin account? #这里的密码是自定义的Seafile的密码
[ admin password ]

Enter the password again:
[ admin password again ]



----------------------------------------
Successfully created seafile admin
----------------------------------------




Seahub is started

Done.

PS:你第一次启动 seahub 时,seahub.sh 脚本会提示你创建一个 seafile 管理员帐号

#访问云存储页面


使用浏览器打开http://192.168.3.131输入刚刚创建的用户名的密码即可。

#Seafile的关闭和重启


##关闭

1
2
./seahub.sh stop # 停止 Seahub
./seafile.sh stop # 停止 Seafile 进程

##重启

1
2
./seafile.sh restart # 停止当前的 Seafile 进程,然后重启 Seafile
./seahub.sh restart # 停止当前的 Seahub 进程,并在 8000 端口重新启动 Seahub

#在另一端口上运行 Seahub


如果你不想在默认的 8000 端口上运行 Seahub, 而是想自定义端口(比如8001)中运行,请按以下步骤操作:

  • 关闭 Seafile 服务器
1
2
3
4
./seahub.sh stop # 停止 Seafile 进程
./seafile.sh stop # 停止 Seahub
更改haiwen/ccnet/ccnet.conf文件中SERVICE_URL 的值(假设你的 ip 或者域名时192.168.1.100), 如下:
SERVICE_URL = http://192.168.1.100:8001
  • 重启 Seafile 服务器
1
2
./seafile.sh start # 启动 Seafile 服务
./seahub.sh start 8001 # 启动 Seahub 网站 (运行在8001端口上)

#如果停止/重启的脚本运行失败


大多数情况下 seafile.sh seahub.sh 脚本可以正常工作。如果遇到问题:

使用pgrep命令检查 seafile/seahub 进程是否还在运行中

1
2
pgrep -f seafile-controller # 查看 Seafile 进程
pgrep -f "manage.py run_gunicorn" # 查看 Seahub 进程

使用pkill命令杀掉相关进程

1
2
pkill -f seafile-controller # 结束 Seafile 进程
pkill -f "manage.py run_gunicorn" # 结束 Seafile 进程

#The End


  • 至此你已经成功掌握了Seafile最基本的搭建和使用
  • 本文参考Seafile官方文档搭建Seafile官网
  • 如需下载客户端,可登陆Seafile官网进行下载

also you can connnect me: polarsnow@20150509.cn