android-charts技术交流qq群现已开通,欢迎加入。群号:170987350
android-charts技术社区网站 http://faq.android-charts.com/

centos6.x/7.x配置nginx系统服务

september 20th, 2017 李大仁 no comments

使用源代码编译方式安装nginx的时候,肯定不如用用yum方式安装来得便捷, centos的系统服务需要自行配置。
自行配置nginx为 centos的系统服务时,出于进程管理考虑需要首先配置pid,出于安全考虑建议修改 nginx的运行用户。

创建 nginx.pid文件用于nginx主进程

1
touch /usr/local/nginx/logs/nginx.pid

修改conf/nginx.conf,设置pid和user

centos6.x配置nginx系统服务
创建一个/etc/init.d/nginx文件

1
2
touch /etc/init.d/nginx
chmod 755 /etc/init.d/nginx

/etc/init.d/nginx文件中写入以下内容,
源文件取自yum方式安装后的文件,不过需要自己修改一下nginx的指向位置
nginx=”/usr/local/nginx/sbin/nginx”
nginx_conf_file=”/usr/local/nginx/conf/nginx.conf”
read more…

tomcat进程无法正常stop问题

september 20th, 2017 李大仁 no comments

centos使用catalina.sh 来管理 tomcat运行时,catalina.sh run 之后产生的tomcat进程会无法使用 catalina.sh stop -force关闭。如果catalina.sh的默认内容来配置tomcat服务,/etc/init.d/tomcat stop 也将会失效

查看catalina.sh文件后找到以下代码,原来需要stop的话,需要catalina_pid文件配合。
catalina.sh 468行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  if [ ! -z "$catalina_pid" ]; then
    if [ -f "$catalina_pid" ]; then
      if [ -s "$catalina_pid" ]; then
        kill -0 `cat "$catalina_pid"` >/dev/null 2>&1
        if [ $? -gt 0 ]; then
          echo "pid file found but no matching process was found. stop aborted."
          exit 1
        fi
      else
        echo "pid file is empty and has been ignored."
      fi
    else
      echo "\$catalina_pid was set but the specified file does not exist. is  tomcat running? stop aborted."
      exit 1
    fi
  fi
凯越今日归位:告别,是为了和更好的你重逢
名爵6和英朗哪个更适合年轻人?
买奔驰GLC、宝马X3、奥迪Q5L的人,
复活也好,换代也罢,紧凑型轿车市场再多新
2018新交规出台?酒后躺车内休息算酒驾
ACCUAIR气动避震代理李洋分享奥迪旅
气动避震李洋分享捷达改装气压减震器绝对是
AIRBFT气动避震李洋分享雨燕安装定制
入门即王道 国产后全新宝马X3简直就是同
东风新天锦载货车不只是改头换面,内饰也终
ENDO气动避震李洋分享丰田86改装AC
ENDO气动避震李洋分享高尔夫7代迷彩装
阿根廷惨败后,保持0粒进球的大球王梅西拥
奔驰发动机装配测试中的人机工程项目
气动避震李洋分享野马改装ACCUAIR气
对自己的越野车很了解是吗?我们来验证一下
海关又截获9万多件假货!618你买了吗?
京昆高速祁临段张兰站6月22日-10月3
奥托立夫三季度销售额微增 在华增5.4%
销量爆涨六成,全新CROWN皇冠“金九”
秦EV的4700公里体验分享
实力出众 斯柯达柯迪亚克值得期待
长安首款MPV凌轩正式亮相 或重塑市场格
上汽乘用车11月同比增长107% 中国主
试驾的宝马440i xDrive 感受纯
易车双平台业务暴涨,“擎天柱”助力变身“
全球媒体大咖阵容升级!网通社车展给你好看
博泽力求进一步发展
为什么说宝马代表了德国模式,大众不是

read more…

windows/linux 编译和配置tomcat native

september 20th, 2017 李大仁 no comments

tomcat native 是利用 apr 来提升tomcat性能的本地api。
tomcat native 这个项目可以让 tomcat 使用 apache 的 apr 包来处理包括文件和网络io操作,以提升性能。

windows环境下安装tomcat native只需要到
http://tomcat.apache.org/download-native.cgi
下载tomcat native connector的window版本,下载完毕后将
tcnative-1.dll (含32位和64位)
复制到tomcat目录下的bin目录即可使用。

linux需要自行编译tomcat native connector,具体步骤如下
read more…

centos7配置nfs文件共享

september 18th, 2017 李大仁 no comments

nfs(network file system)即网络文件系统,是 linux/unix支持的文件系统中的一种,它允许网络中的计算机之间通过tcp/ip网络共享资源。在nfs的应用中,本地nfs的客户端应用可以透明地读写位于远端nfs服务器上的文件,就像访问本地文件一样。

测试环境 centos7.3

nfs服务端配置
1.安装nfs-utils和rpcbind

1
2
3
4
# yum update
yum -y update
# install nfs
yum -y install nfs-utils rpcbind

2.启用和打开nfs相关服务rpcbind,nfs-server,nfs-lock,nfs-idmap。 注意需要先启动rpcbind

1
2
3
4
5
6
7
8
9
10
11
#enable services
systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap
 
# start nfs service
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap

read more…

rhel6.x更换为centos版本的yum并替换源

august 25th, 2017 李大仁 no comments

yum(全称为 yellow dog updater, modified)是一个在fedora和redhat以及suse中的shell前端软件包管理器。基於rpm包管理,能够从指定的服务器自动下载rpm包并且安装。
rhel的提供yum工具默认指向redhat的源服务器,使用yum之前需要向redhat注册方能使用。

centos提供了与rhel相同的移植版本,可以使用 centos版本的yum替换rhel的yum,需要先删除后安装。
同时替换一下yum的源头服务器即可

1.删除rhel默认安装的yum

1
rpm -qa|grep yum|xargs rpm -e —nodeps

2.下载centos版本的yum安装包

1
2
3
4
curl -o ./ http://vault.centos.org/6.0/os/x86_64/packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
curl -o ./ http://vault.centos.org/6.0/os/x86_64/packages/yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm
curl -o ./ http://vault.centos.org/6.0/os/x86_64/packages/yum-3.2.27-14.el6.centos.noarch.rpm
curl -o ./ http://vault.centos.org/6.0/os/x86_64/packages/yum-plugin-fastestmirror-1.1.26-11.el6.noarch.rpm

read more…

categories: 系统管理 tags: centos

vbs实现目录下所有文件归集

august 25th, 2017 李大仁 no comments

一个简单的需求:
windows 环境下用 vbs/ vba来实现抽取某一个特定目录下的全部所有文件,要求遍历当前目录下所有的子目录。
注意各子目录下文件的文件名可能会重复,各子目录下存在空目录的情况。

实现vbs代码

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
'需要遍历的目录路径
dim strdirpath = "c:\dir"
 
'遍历目录
private sub filetree(strpath)
    set obfso = createobject("scripting.filesystemobject")
    if obfso.folderexists(strpath) then
        set obfolder = obfso.getfolder(strpath)
        '遍历当前目录下的所有目录,递归调用
        set obsubfolders = obfolder.subfolders
        for each obsubfolder in obsubfolders
            call filetree(obsubfolder.path & "")
        next
        '剔除当前目录
        if strpath = trim(strdirpath) then
            exit sub
        end if
        '遍历当前目录下的所有文件
        set obfiles = obfolder.files
        for each obfile in obfiles
            call excutefolderconcentrate(obfile.path & "")
        next
    else
        msgbox "invalide path"
        exit sub
    end if
end sub
 
'文件归集操作
private sub excutefolderconcentrate(strpath)
    set obfso = createobject("scripting.filesystemobject")
    if obfso.fileexists(strpath) then
        fullpath = trim(strdirpath) & “\"
        '按目录层级设置新文件名
        newfilename = replace(right(strpath, len(strpath) - len(fullpath)), "\", "_”)
        '重复文件重新命名
        if obfso.fileexists(fullpath & newfilename) then
            call obfso.copyfile(strpath, fullpath & newfilename & ".duplicate")
        else
            call obfso.copyfile(strpath, fullpath & newfilename)
        end if
    end if
end sub
 
'遍历整个目录,完成文件归集
filetree (strdirpath)
'重新打开目录文件夹
createobject("shell.application").explore strdirpath

centos的firewalld和iptables使用

august 22nd, 2017 李大仁 no comments

centos在7.x和6.x分别使用 firewalld iptables作为防火墙工具,习惯上 iptables之后 firewalld各种不适应。
下面总结在各个版本 centos firewalld和iptables使用。 这里配置打开http/https端口功能,分别对应80和443端口

centos7.x 使用firewalld

1
2
3
4
5
6
7
8
#====================centos 7.x==================
systemctl enable firewalld
systemctl start firewalld
# http
firewall-cmd --permanent --zone=public --add-port=80/tcp
# https
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd —reload

read more…