Rootop 服务器运维与web架构

2014-06-30
发表者 Venus
configure: error: Don’t know how to define struct flock on this system,set –enable-opcache=no已关闭评论

configure: error: Don’t know how to define struct flock on this system,set –enable-opcache=no

在centos6.5上编译php-5.5.14时报错:

configure: error: Don’t know how to define struct flock on this system,set –enable-opcache=no

这个错误第一次见到,估计是新版本的问题,也没找到具体解释,解决方法:

编辑 /etc/ld.so.conf  添加一行

/usr/local/lib

保存退出,执行:

ldconfig

重新编译即可。

估计是新版本php编译的时候没有自动去/usr/local/lib下搜寻库文件。

2014-06-27
发表者 Venus
大于2T硬盘通过UEFI启动+GPT分区表安装Server 2008 R2已关闭评论

大于2T硬盘通过UEFI启动+GPT分区表安装Server 2008 R2

现在有个磁盘阵列,做的raid5,大小为3T,介于BIOS对硬盘最大寻址为2TB,现在需要通过UEFI方式启动,外加GPT分区表,实现安装Server 2008 R2。
现在公司里是华硕的台式机,开机按DEL可以进入UEFI,设置光驱为UEFI方式启动。在服务器上暂时还不清楚,不同品牌可能不一样。
下周华为服务器到位,再实践一下。这里用vmware 10虚拟机测试一下。硬盘分了3T。

创建虚拟机,先不要启动,需要修改虚拟机配置文件,用来支持UEFI启动。

编辑此文件:
C:\Users\Administrator\Documents\Virtual Machines\Windows Server 2008 R2 x64\Windows Server 2008 R2 x64.vmx
加一行:

firmmware = "efi"      //注意为英文双引号

保存,启动虚拟机。
在显示vmware的LOGO时候按ESC键,进入UEFI启动,直接回车(默认为Continue选项) ,然后会提示按任意键从光盘启动。


到windows分区时候,需要将磁盘转换为GPT分区类型,按shift+f10调出命令提示符,依次键入如下命令:
>diskpart
>list disk
>select disk 0
>clean
>convert gpt
>exit

继续分区,创建一个100G分区用来装系统,确定以后,会看到创建了一个100M系统保留,这个是win7以后都会有的保留分区,还有一个MSR分区。
是GPT分区类型要求保留的一个分区。

然后继续安装系统,过程一样。系统完成后,去 磁盘管理 将剩余的2.9T磁盘创建分区即可。这样就实现了系统分区和数据分区都安装到了3T阵列下。
看群里其它同学说可以在阵列下创建两个“卷”,一个装系统,一个做为数据分区。理论可行,没测试。
通过UEFI+GPT是最好的解决方式。

2014-06-24
发表者 Venus
windows下搭建tomcat运行环境已关闭评论

windows下搭建tomcat运行环境

软件版本:目前最新版本
jdk-8u5-windows-x64
http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-windows-x64.exe
apache-tomcat-8.0.8-windows-x64
http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.8/bin/apache-tomcat-8.0.8-windows-x64.zip

首先安装JDK,直接双击安装即可。
配置 “系统变量”:

变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_05 #jdk安装路径

变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\BIN #注意前面有个 点

编辑 Path变量:
变量名:Path
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; #添加到变量值到原有变量最前面。

打开命令提示符,检查安装是否正确:
执行:java -version
看到java版本信息即可。

安装tomcat:
这里下载的 zip 包,直接解压即可。我这里放到C盘目录下。
设置tomcat环境变量:

变量名:TOMCAT_HOME
变量值:C:\apache-tomcat-8.0.8

启动tomcat:
c:\apache-tomcat-8.0.8\bin\startup.bat
会有一个tomcat的窗体一直显示着。

检查端口是否启动:
命令提示符执行:netstat -an | find “8080” | find “LIS”

打开浏览器,访问 http://localhost:8080/ ,会看到tomcat的页面。

将tomcat设置为开机启动:
C:\>cd apache-tomcat-8.0.8\bin\               #切换到tomcat的bin目录
C:\apache-tomcat-8.0.8\bin>service.bat  #直接执行可以看到用法
Usage: service.bat install/remove [service_name] [/user username]  #安装服务方法
C:\apache-tomcat-8.0.8\bin>service.bat install    #安装tomcat服务。

双击 C:\apache-tomcat-8.0.8\bin 下的 tomcat8w.exe 可以设置启动类型为自动,状态为启动。这样就可以随机启动了。

2014-06-20
发表者 Venus
cwrsync批量同步数据已关闭评论

cwrsync批量同步数据

需求:

代码发布后,拷贝到测试服务器,测试通过后通过cwrsync推送到线上服务器。因为线上服务器数量比较多,手动一个一个ip去敲效率很低,然后使用批处理方式解决:

@echo off
setlocal EnableDelayedExpansion

set j=0
for /f "delims=""" %%i in (ip.txt) do (
set /a j+=1
set con!j!=%%i
call set a=%%con!j!%%

C:\"Program Files (x86)\cwRsync\bin\rsync.exe" -vzrtopg /cygdrive/f/www/ rsync://!a!:873/www >>  d:\rsync-%date:~0,4%%date:~5,2%%date:~8,2%.log
)
exit

保存为cwrsync_batch.bat,创建一个ip.txt文档,每一行记录服务器的ip。这样就实现服务器的批量推送功能。结合文章 https://www.rootop.org/pages/2724.html  实现代码更新,降低运维量。

2014-06-20
发表者 Venus
windows利用cwRsync实现数据同步已关闭评论

windows利用cwRsync实现数据同步

实现软件:
cwRsyncServer_4.1.0服务器端
cwRsync_4.1.0             (客户端
当时的下载地址找不到了,自行百度搜索找下载地址。

IP地址信息:
服务器端:192.168.0.6    (安装cwRsyncServer)
客户端    :192.168.0.123(安装cwRsync)

目的:
线上windows服务器运行.net网站。测试服务器运行线上项目测试环境。代码发布后,测试机测试,通过后,代码推送到服务器。

服务器端配置:C:\Program Files (x86)\ICW\rsyncd.conf  //默认路径

use chroot = false     #不使用chroot
strict modes = false   #静态模式
hosts allow = *        #允许所有IP访问
log file = rsyncd.log  #日志名,相对路径
pid file = rsyncd.pid
lock file = rsync.lock
max connections = 1024
port = 873
uid = 0     #不指定uid
gid = 0     #不指定gid
fake super = yes  #解决的一个问题,参考https://www.rootop.org/pages/2722.html

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[www]       #以下参数不做介绍,跟linux下一样
path = /cygdrive/c/www    #将C盘下的www目录同步
read only = false
transfer logging = yes
ignore errors
list = no
hosts allow = 192.168.0.0/255.255.255.0
hosts deny = *
#auth users = rsync             #此处屏蔽,采用匿名验证。无需用户名密码。适用于内网环境
#secrets file = rsync.passwd

配置或者修改完参数,去“服务”中重启 RsyncServer 服务生效。

如果有防火墙,记得放行873端口。

客户端配置(充当测试服务器):
直接安装软件即可。

代码测试机通过后,将代码推送到服务器端:

C:\>C:\"Program Files (x86)\cwRsync\bin\rsync.exe" -vzrtopg --delete /cygdrive/f/www/ rsync://192.168.0.6:873/www

参数不做介绍,跟linux下一样。这样就将F盘下的www目录下的代码同步到远程服务器。
这样在windows下实现了代码更新。至于–delete参数,在线上环境最好不要用,因为会将服务器端中客户端没有的数据删除,比如,用户上传的图片。
一定要注意。
rsync操作有风险,使用需谨慎。