第四节:Windows下的OpenGL OpenGL Win32 Wiggle

第四节:Windows下的OpenGL OpenGL Win32  Wiggle
第四节:Windows下的OpenGL OpenGL Win32  Wiggle

第四节:Windows下的OpenGL: OpenGL+Win32 = Wiggle

这一节中你将学到:

OpenGL就是单纯的图形API(编程接口),用户的交互和屏幕窗口处理都交给了操作系统去完成。为了和操作系统很好的配合,每一种操作系统都有自己对OpenGL的扩展,包括一些窗口管理和用户交互的一些函数。有必要提供一些设置缓冲模式、颜色深度和其它一些绘图特征。

对于微软的Windows操作系统,这种紧密的关系包括在六个新的wiggle函数添加到OpenGL中(称为wiggle是因为它们的前缀为wgl而不是gl),和五个新的Win32他可有才函数加入到Windows NT和95的GDI中。我们将在这一节中讲述这个gluing函数,并不用辅助库来创建我们的OpenGL框架。

在第三节中我们把辅助库作为学习OpenGL的C编程的基础知识。你已知道怎样画一些二维和三维的物体和指定坐标系统和透视,此时并不需考虑Windows编程的细节。现在该到我们看看OpenGL是怎样在Windows环境下工作的。除非你对单窗口、无菜单、无打印功能、无对话框,只有几个与用户交互的功能,否则你就要学怎样在你的Win32程序中使用OpenGL。

在本节的开始部分,我们将建立一个功能齐全的Windows应用程序,它可以利用操作系统的所有功能。你将会看到支持OpenGL程序的Windows操作系统的窗口有什么特点。你将会学到表现良好的OpenGL窗口怎样处理和处理哪些消息。本节介绍这些概念是循序渐进的,像我们用C建立的一个OpenGL初始模型将在我们将来的例子中实用。

到此为止,你不需要任何关于3D图形的预备知识,只需要一些C语言的基本知识。从这点而言,尽管如此,我们还是要假设你有入门级的Windows编程知识。如果对Windows 很陌生,或你对Windows的程序框架很吃力、或对Windows的过程、消息很不熟悉,等等。我强烈建议你看一下附录B中推荐的书之后再看下文的内容。

在Windows中绘制窗口

用辅助库创建的只有一个窗口,而你自己Windows应用程序通常不止一个窗口。实际上,对话方框,菜单通常是一个Windows程序的基本组成部分。一个有用的程序几乎不可能只有一个窗口。因此OpenGL是怎样知道执行程序时要在哪里绘画呢?在我回答这个问题之前,让我们来回顾一下不使用OpenGL,Windows是怎样画图的。

GDI装置内容

不使用OpenGL在Windows中绘图就要用到Windows的GDI(图形装置接口)。每一个窗口都有一个装置内容来接收图形输出,每一个GDI函数都把装置内容作为函数参数来表明哪个窗口将会被绘图所影响。你可以有多个装置内容,但是每个窗口只能有一个。

在赠送的CD中有这样一个例程WINRECT绘制了一个蓝色背景和中间有一个红色方块的普通的窗口。程序的输出如图4-1所示。你会觉得眼熟,因为它跟我们第三节中第二个程序friendly.c输出的图形很像。与前面的程序不同的是,WINRECT是一个WINAPI程序。WINRECT的代码跟普通的Windows 编程代码很像,从WinMain函数开始并发出消息,然

后WndProc函数来为主窗口处理消息。

图4-1 Windows版的friendly.c

你要是精通Windows编程的话就应包括创建和显示一个窗口的细节。所以我只列出了绘制背景和方块的代码。

首先,我们必须创建一个蓝色和红色的画刷来填充和绘画。画刷的句柄声明为全局变量://Handles to GDI brushes we will use for drawing

HBRUSH hBlueBrush,hRedBrush;

然后在WinMain()主函数中用RGB宏来设置画刷为红色和蓝色:

//Create a blue and red brush for drawing and filling operations.

hBlueBrush = CreateSolidBrush(RGB(0,0,255));

hRedBrush = CreateSolidBrush(RGB(255,0,0));

当指定了窗口的样式以后,就可给窗口的背景指定为用蓝色画刷填充了。窗口的尺寸位置与原来用auxInitPosition设置的一样在窗口被创建时指定:

hWnd = CreateWindow(

szClassName,szAppName,

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,CW_USEDEFAULT,

250,250,NULL,NULL,hInstance,0);

最后,在窗口处理函数WndProc中WM_PAINT消息内部加入下面的代码:

case WM_PAINT:

//Start painting

BeginPaint(hWnd,&ps);

hdc = GetDC(hWnd);

//Select and use red brush

hOldBrush = SelectObject(hdc,hRedBrush);

//Draw a rectangle filled with the currently selected brush

Rectangle(hdc,100,100,150,150);

//Deselect the brush

SelectObject(hdc,hOldBrush);

//End painting

EndPaint(hWnd,&ps);

ReleaseDC(hWnd,hdc);

break;

当你在给OpenGL下这样一个结论之前,就是OpenGL也是用同样的方式来工作的,请记住:GDI是Windows专用的。其它的操作系统没有装置内容、窗口句柄。然而OpenGL 是为各种操作系统和平台而设计的。只有在Windows操作系统中要添加一个装置内容的参数到OpenGL函数中去渲染你的OpenGL代码。

OpenGL渲染内容

为了使OpenGL的核心函数有很好的移植性,各种操作系统在执行OpenGL的命令之前都要提供一个当前渲染窗口。在Windows中,OpenGL包括在渲染内容中。就像装置内容存储GDI的关于绘图模式和命令的内容一样,渲染内容存储OpenGL的设置和命令。

你的程序中可以有不止一个的渲染内容,例如两个窗口使用不同的绘图模式、透视方法等。为了使OpenGL知道它的命令在哪个窗口中运行,在每个进程的任何时刻只有一个渲染内容被作为当前渲染内容。当一个渲染内容作为当前渲染内容时,它通常也和一个装置内容和一个特定的窗口一起被处理。现在OpenGL知道去渲染哪个窗口。图4-2表示了这个观念:

图4-2 OpenGL命令是怎样找到它的窗口的

使用Wiggle函数

渲染内容严格来说不是OpenGL的观念,只是Windows为了支持OpenGL而添加到Windows 中的API。实际上,新的Wiggle函数只是为支持OpenGL。渲染内容中最常用的三个函数是:

HGLRC wglCreateContext(HDC hDC);

BOOL wglDeleteContext(HGLRC hrc);

BOOL wglMakeCurrent(HDC hDC,HGLRC hrc);

创建和选择一个渲染内容

注意第一个新的数据类型HGLRC,它表示一个指向渲染内容的句柄。函数wglCreateContent()以GDI装置内容为参数,返回一个OpenGL渲染内容的句柄。像一个GDI 的装置内容一样,渲染内容在你使用完毕后也要删除。函数wglDeleteContext()就是完成这个任务的,它的参数就是你要删除的渲染内容的句柄。

当从一个装置内容创建了一个渲染内容后,就可以在那个装置内容上绘图了。当函数wglMakeCurrent()把一个渲染内容置为当前时,是否在开始就指定渲染内容就是不很严格了。然而,创建渲染内容时的装置内容和使用渲染内容时装置内容的参数是一样,这些参数包括:颜色深度、缓存的定义、等等。这些都包含在像素格式(Pixel format)中。

把一个为装置内容设定为当前渲染内容不同于创建一个渲染内容,它们都有必须有相同的像素格式。你可通过把其它的渲染内容置为当前或调用wglMakeCurrent()函数,把渲染内容置为NULL来放弃正在使用的渲染内容。

使用OpenGL绘画

若你没编过什么GDI的程序,跟踪装置内容或渲染内容将是令人头疼的事情,但当你看到它是怎样来处理之后,你就会觉得很简单的。在老版本的16位的Windows编程中,为了处理更快,当你使用完装置内容后你就要释放装置内容。因为Windows一次只能记住五个装置内容。在新的32位的Windows操作系统中,没有了这些内部资源的限制,但并不是让我们大意,它是指一个窗口要创建一个私有的装置内容只有几条实施方案(window style WS_OWNDC),因此当我们处理完以后就要结束装置内容。

将来我们的会有动画,我们应避免重复调用GetDC()来使用渲染内容置为当前,因为代价在贵。另一个省时的办法就是在一个渲染内容创建之后就把它置为当前,并使它始终处于当前。如果只有一个OpenGL的窗口,将比重复调wglMakeCurrent更省时。

处理创建和删除渲染内容只需要在两个消息处加上相应的代码:WM_CREA TE和WM_DESTROY。通常,在WM_CREA TE消息中创建渲染内容,在WM_DESTROY消息中删除它。一个从使用OpenGL绘图的窗口处理过程中展示了怎样创建和删除渲染内容:LRESTULT CALLBACK WndProc(HWND hWnd,…..

{

static HGLRC hRC;

static HDC hDC;

switch(msg) {

case WM_CREA TE:

hDeviceContext = GetDC(hWnd);

……

hRenderContext = wglCreateContext(hDC);

wglMakeCurrent(hDC,hRC);

break;

case WM_DESTROY:

wglMakeCurrent(hDC,NULL);

wglDeleteContext(hRC);

break;

}

}

处理窗口的绘制的仍由WM_PAINT消息来完成。现在它其中可以把的OpenGL绘图命令分配到BeginPaint/EndPaint之间。使用OpenGL你只需将窗口窗客户区用效让它一直都有

一个WM_PAINT消息,这里有一个处理WM_PAINT消息的框架:

case WM_PAINT:

{

//OpenGL drawing code or you Render function called here.

RenderScene();

V alidateRect(hWnd,NULL);

}break;

为OpenGL准备Window

在M_PAINT消息中添加原来的代码和渲染函数已可以作出一个窗口程序,但是不要急,在创建渲染内容之前还有两个重要的准备工作。

窗口样式

为了在窗口中能用OpenGL绘图,窗口的样式必须设置为:WS_CLIPCHILDREN 和S_CLIPSIBLINGS,且不能包含CS_PARENTDC样式。这是因为窗口只有在装置内容设置为渲染内容之后才合适绘图,或窗口中用的是一种像素格式。因为WS_CLIPCHILDREN WS_CLIPSIBLINGS样式使用绘图函数去更新所有的子窗口。CS_PARENTDC样式使一个窗口继承它的父窗口的装置内容,因此是禁止的,因为渲染内容只能处理一个装置内容和窗口。如果这两个样式不指定的话,你将不能设置窗口的像素格式。像素格式是我们准备Windows OpenGL程序的最后一个细节。

像素格式

在窗口中使用OpenGL绘图还需要你选择一种像素格式。跟渲染内容一样,像素格式也不是OpenGL 的一部分,它是在Win32API中对用OpenGL的扩展。像素格式就是为设置装置内容的OpenGL属性,就像颜色和缓存深度,或窗口是否为双缓存。你在用装置内容创建渲染内容之前一定要设置像素格式。这是你将用到的两个函数:

int ChoosePixelFormat(HDC hDC,PIXELFORMA TDESCRIPTOR *ppfd);

BOOL SetPixelFormat(HDC hDC,int iPixelFormat,PIXELFORMA TDESCRIPTOR *ppfd); 设置像素格式分三步,首先你可以根据你想要的窗口特点设置格式中的变量;然后再把这个结构交给ChoosePixelFormat函数来处理。函数返回一个装置内容可用的像素格式的整型索引。索引再交给SetPixelFormat函数处理。处理过程如下:

PIXELFORMA TDESCRIPTOR pixelFormat;

int nFormatIndex;

HDC hDC;

// initialize pixelFormat structure

….

….

nFormatIndex = ChoosePixelFormat(hDC, &pixelFormat);

SetPixelFormat(hDC, nPixelFormat, &pixelFormat);

ChoosePixelFormat()函数根据你的在PIXELFORMA TDESRCIPTOT中的设置去匹配一个支持的像素格式。返回值是像素格式的标签。例如:你可要求一个像素格式有16百万色,但是硬件只支持256色。在这种情况下,返回值将会返回一个可能的相近的值。这个索引传递给SetPixelFormat()函数。

你将在下面找到PIXELFORMA TDESCRIPTOR结构的细节。列表4-1为例子GLRECT 中的设置PIXELFORMA TDESCRIPTOR结构和设置像素格式的函数。

清单4-1 设置装置内容像素格式的高水平函数

/Select the pixel format for a given device context

void SetDCPixelFormat(HDC hDC) {

int nPixelFormat;

static PIXELFORMA TDESCRIPTOR pfd = {

sizeof(PIXELFORMA TDESCRIPTOR),

1,

PFD_DRA W_TO_WINDOW|

PFD_SUPPTOR_OPENGL |

PFD_TYPE_RGBA,

24,

0,0,0,0,0,0,

0,0,

0,0,0,0,0,

32,

0,0,

PFD_MANI_PLANE,

0,0,0};

nPixelFormat = ChoosePixelFormat(hDC,&pfd);

SetPixelFormat(hDC,nPixelFormat,&pfd);

}

正如这个例子中所示的,并不所有的结构变量都使用了。表4-1列出了清单4-1中设置的结构体变量。其它的可以设置为零。

回到反弹方块

现在我们已经有了足够的信息去创建一个不使用辅助库的OpenGL程序。程序代码如清单4-2所示,它的效果和第三节中BOUNCE2是一样的。从代码的长度你可看出辅助库做了很大的工作。

第三节中例子的函数RenderScene,ChangeSize,IdleFunction没有改动,因此在此处就省去了代码。上述函数和清单4-1一起组成了例程GLRECT。图4-3所示为相同的反弹方块,清单4-2所示为创建窗口的主函数和处理消息的函数。

图4-3 Windows 版的反弹方块

清单4-2:不用辅助库的动画方块(程序的全部代码WIN32 Application) //windows version bounce square.

#include

#include

#include

#define IDT_TIMER 101

HGLRC hRC;

HDC hDC;

GLfloat x1 = 100.0f;

GLfloat y1 = 100.0f;

GLsizei rsize = 50;

GLfloat windowWidth;

GLfloat windowHeight;

GLfloat xstep = 1.0f;

GLfloat ystep = 1.0f;

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); void SetDCPixelFormat(HDC hDC);

void CALLBACK RenderScene(void);

void CALLBACK IdleFunction(void);

void CALLBACK ChangeSize(GLsizei width,GLsizei height);

//Entry point of all windows programs.

int WINAPI WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,int nCmdShow)

{

MSG msg;

HWND hWnd;

WNDCLASS wc;

CHAR szAppName [] = "Windows V ersion bouncing-eryar";

CHAR szClassName[] = "myOpenGLClass";

//Register Window style

wc.style = CS_HREDRA W|CS_VREDRA W;

wc.lpfnWndProc = WndProc;

wc.cbClsExtra = 0;

wc.cbWndExtra = 0;

wc.hInstance = hInstance;

wc.hIcon = NULL;

wc.hCursor = LoadCursor(NULL,IDC_ARROW);

wc.lpszClassName= szClassName;

wc.hbrBackground= NULL; //No need for background brush for OpenGL window wc.lpszMenuName = NULL;

if(!RegisterClass(&wc)) {

MessageBox(NULL,"Register class failed!","message",MB_OK);

return FALSE;

}

hWnd = CreateWindow(

szClassName,

szAppName,

WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,CW_USEDEFAULT,

250,250,

NULL,NULL,

hInstance,

NULL);

if(!hWnd) {

MessageBox(NULL,"Create Window failed!","message",MB_OK);

return FALSE;

}

ShowWindow(hWnd,nCmdShow);

UpdateWindow(hWnd);

while(GetMessage(&msg,NULL,0,0)) {

TranslateMessage(&msg);

DispatchMessage(&msg);

}

return msg.wParam;

}

LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)

{

switch(message) {

case WM_CREA TE: //Window creation,setup for OpenGL

hDC = GetDC(hWnd); //Store the device context

SetDCPixelFormat(hDC);//Select the pixel format

hRC = wglCreateContext(hDC); //Create the rendering context

wglMakeCurrent(hDC,hRC); //and make it current

SetTimer(hWnd,IDT_TIMER,1,NULL);//Create a timer that fires every millisecond

break;

case WM_SIZE:

ChangeSize(LOWORD(lParam),HIWORD(lParam));

break;

case WM_PAINT:

RenderScene();

SwapBuffers(hDC);

V alidateRect(hWnd,NULL);

break;

case WM_TIMER:

IdleFunction();

InvalidateRect(hWnd,NULL,FALSE);

break;

case WM_DESTROY:

KillTimer(hWnd,IDT_TIMER);

wglMakeCurrent(hDC,NULL);

PostQuitMessage(0);

break;

}

return DefWindowProc(hWnd,message,wParam,lParam);

}

//Select the pixel format for a given device context

void SetDCPixelFormat(HDC hDC)

{

int nPixelFormat;

static PIXELFORMA TDESCRIPTOR pfd = {

sizeof(PIXELFORMA TDESCRIPTOR),

1,

PFD_DRA W_TO_WINDOW|

PFD_SUPPORT_OPENGL|

PFD_DOUBLEBUFFER,

PFD_TYPE_RGBA,

24,

0,0,0,0,0,0,

0,0,

0,0,0,0,0,

32,

0,0,

PFD_MAIN_PLANE,

0,0,0,0

};

//Choose a pixel format that best matches the described in pfd nPixelFormat = ChoosePixelFormat(hDC,&pfd);

//Set the pixel format for the device context

SetPixelFormat(hDC,nPixelFormat,&pfd);

}

void CALLBACK ChangeSize(GLsizei width,GLsizei height) {

if(height == 0)

height = 1;

glViewport(0,0,width,height);

glLoadIdentity();

if(width<=height) {

windowWidth = 250;

windowHeight= (GLfloat)250*height/width;

}

else {

windowWidth = (GLfloat)250*width/height;

windowHeight= 250;

}

glOrtho(0.0f,windowWidth,0.0f,windowHeight,-1.0f,1.0f); }

void CALLBACK RenderScene(void)

{

glClearColor(0.0f,0.0f,1.0f,1.0f);

glClear(GL_COLOR_BUFFER_BIT);

glColor3f(1.0f,0.0f,0.0f);

glRectf(x1,y1,x1+rsize,y1+rsize);

glFlush();

}

void CALLBACK IdleFunction(void)

{

if(x1>windowWidth-rsize||x1<0)

xstep = -xstep;

if(y1>windowHeight-rsize||y1<0)

ystep = -ystep;

if(x1>windowWidth-rsize)

x1 = windowWidth - rsize -1;

if(y1>windowHeight-rsize)

y1 = windowHeight - rsize-1;

x1 += xstep;

y1 += ystep;

}

如果你跟着我们讨论的内容,Windows版的反弹方块的程序将很好理解。让我们来看一下程序中值得关注的几点。

窗口的缩放

在第三节中我们基于辅助库的例子,当窗口尺寸改时辅助库调用changeSize函数。在我们新的例子中,我们当窗口尺寸改变时,就会发出WM_SIZE消息,我们自己调用ChangeSize函数。传递参数lParam的LOWORD和HIWORD。lParam的LOWORD中包含了新的窗口宽度,HIWORD中包含了新的高度。

//Window is resized

case WM_SIZE:

ChangeSize(LOWORD(lParam),HIWORD(lParam));

break;

TickT ock,the Idle Clock

通过辅助库我们可以优雅地处理我们的IdleFunction函。这个函数当程序空闲时就被调用。我们也可模拟这个功能通过设置一个计时器Timer。代码如下:

//Create a timer that fires every millisecond

SetTimer(hWnd,IDT_TIMER,1,NULL);

当窗口创建时就设置了一个计时器。Windows每毫秒就给OpenGL窗口发送一个WM_TIMER消息。通常,Windows可以发送这个消息当程序的消息队列中没有其它的消息。(可以参考Windows API Bible, James L.Conger , Published by Waite Group Press )当WndProc 收到WM_TIMER消息时,就会执行下面的代码:

case WM_TIMER:

IdleFunction();

InvalidateRect(hWnd,NULL,FALSE);

break;

函数IdleFunction和BOUNCE2中的是相同的,除了这里没有调用RenderScene()。窗口被重画,当调用InvalidateRect,这将使Windows发送一个WM_PAINT消息。

灯光、摄影、ACTION!

现在一切都已就绪,该到行动的时候了。渲染OpenGL代码放到WM_PAINT处理。在这里调用RenderScene(同样,我们也从BOUNCE2中借用一下):

case WM_PAINT:

RenderScene();

SwapBuffers(hDC);

V alidateRect(hWnd,NULL);

break;

这里,我们发现了一个Windows GDI的函数:SwapBuffers。这个函数和辅助库中的函数auxSwapBuffers的功能是一样的。唯一的参数是装置内容。注意这里的装置内容必须设置为PFD_DOUBLEBUFFER,否则这个函数将会失效。

就是这些了!现在你得到了一个程序框架,你可以在其中处理你的OpenGL绘画。它将很灵活的维护一个窗口的各种属性,包括移动、调整窗口尺寸、等等。当然将来你也可以用它来创建一个功能齐全的程序,包括窗口、菜单、等等。

总结

在这一节中,你应该掌握了OpenGL 的Windows程序框架。根据GDI介绍了渲染内容。也讲了在创建使用渲染内容之前选择和设置像素格式。

索引

was7在Windows下的安装

Window下WebSphere Application Server 7的安装 目录 安装WebSphere Application Server 7 (1) 键入章标题(第2 级) (2) 键入章标题(第3 级) (3) 键入章标题(第 1 级) (4) 键入章标题(第2 级) (5) 键入章标题(第3 级) (6) 一、安装WebSphere Application Server 7 1、单击WebSphere Application Server的安装程序launchpad.exe, 弹出安装欢迎窗口,单击启动WebSphere Application Server-Trial安装向导进行安装如下图: 2、弹出初始化向导窗口,等待初始化完成,如下图

3、弹出安装向导说明,单击下一步,如图 4、弹出软件许可证协议窗口,选择我接受许可证协议的的全部条款,单击下一步,如下图

5、弹出系统必备软件检查窗口,单击下一步 6、弹出选择可选的功能部件,保持默认, 单击下一步,如下图

7、弹出设置安装目录窗口、系统默认安装路径如下图,要改变安装路径,单击【浏览…】,改变安装目录。设置完毕,单击下一步 8、弹出选择要创建的WebSphere应用服务器的环境类型,这里选择“无“,单击下一步如下图

此时会弹出一个警告询问窗体,单击是如图: 9、弹出搜索临时修订窗口,等待完成,单击下一步如图

10、弹出安装摘要窗口,单击下一步如图 11、弹出安装窗口,安装过程可能需要等待一段时间 12、安装完成,弹出安装结果窗口,选中“使用概要管理工具创建新的WebSphere ApplictionServer 概要文件”或开始->IBM_WebSphere->Application Server 7.0->概要管理工具,来启动概要管理工具,创建应用程序服务器单击完成。

Cacti内部安装手册

1.IIS –安装IIS服务器。 2.SNMP –安装SNMP服务,正确配置并启动服务。 3.Cacti –提取 cacti-0.8.6h.zip 中的文件到默认网站的路径下,一般为 C:\Inetpub\wwwroot\cacti 4.Cactid –提取cacti-cactid-0.8.6h-cygwin.1. 5.20.zip中的文件到 Cacti路径下。确认cactid.conf.dist文件包含在此文件夹内。 5.RRDTool –提取rrdtool-1.2.15-cygwin-1.5.20.zip中的文件到 C:\rrdtool目录下。 6.PHP - 提取 php-5.1.4-Win32.zip 中的文件到c:\php文件夹. 7.MySQL - 提取mysql-4.1.21-win32.zip 中的文件,安装到默认路径下 C:\Program Files\MySQL\MySQL Server 4.1 。初始root密码设定为:123456。 系统环境:windows 2003+IIS6.0 安装包: php-5.1.4-Win32.zip mysql-4.1.21-win32.zip ActivePerl-5.8.8.819-MSWin32-x86-267479.msi rrdtool-1.2.15-cygwin-1.5.20.zip net-snmp-5.3.1-1.win32.exe cacti-cactid-0.8.6h-cygwin.1.5.20.zip cacti-0.8.6h.zip for win32

配置 PHP 1.添加以下路径c:\php 到已经存在的Windows系统PATH环境变量中. 打开控制面板: 系统 | 高级 | 环境变量 | 系统变量. 2.添加一个新的Windows系统环境变量,名为PHPRC路径为:c:\php. 3.添加一个新的Windows系统环境变量,名为MIBDIRS , 路径为 c:\php\extras\mibs 4.重命名c:\php\php.ini.dist为php.ini, 然后做以下修改: 添加以下几行或取消注释 extension_dir = “c:\php\ext” extension=php_mysql.dll extension=php_snmp.dll extension=php_sockets.dll cgi.force_redirect = 0 5.如果你想导入模版, 取消下面这行的注释: file_uploads = On 6.将来要运行“任务计划”的用户需要被赋予本地MIBDIRS环境变量 下.index文件的修改权限. 配置 Web 服务器 (IIS) 1.运行 Internet Information Services (IIS) 管理器, 右键点击默认网 站选择属性. 2.在主目录标签下,选择配置并点击添加. 浏览选择可执行文件 php4isapi.dll或者php5isapi.dll, 在扩展名中输入 .php 备注: 如果使用 IIS6, 需要允许全部动作和脚本引擎.

Compiere在Windows环境下的安装步骤

Compiere资料参考网址 https://www.360docs.net/doc/b018146974.html, https://www.360docs.net/doc/b018146974.html,的compiere论坛 Compiere所需软件下载网址: https://www.360docs.net/doc/b018146974.html,/download/dl_software.htm Compiere安装步骤(Windows环境下) 一.前期准备工作 1.安装Oracle数据库 注意事项:1)Compiere 2.6.3 正式支持的数据库包括Oracle 10g 与Oracle XE 数据库(后者完全免费),但尚未正式支持 PostgreSQL、EnterpriseDB、DB2、SQL Server 等数据库。 2) Oracle XE数据库的安装过程 Oracle 10g数据库的安装过程 3) 测试数据库安装是否成功 2. 安装Java SDK 1.5 Compiere 服务器端需要安装J ava SDK 1.5.0_04 及更高版本。下载后直接安装即可。 重要:安装完成后,必须新建并设置JAVA_HOME 环境变量为上述Java SDK 1.5 的安装路径。在Windows 平台类似下图:

技巧:如果您不熟悉如何设置环境变量,请遵循下述步骤: 1.运行控制面板中的“系统”,打开“系统属性”对话框。 2.切换至“高级”页签,点击“环境变量”按钮。 3.在弹出的“环境变量”对话框中,点击“系统变量”下的“新建”按钮。 4.在弹出的“新建系统变量”对话框中,输入变量名称与变量值后,按确定按钮,然后再次按确定按钮。安装Java 1.5 JRE(运行库) Compiere 客户端需要安装J ava JRE 1.5.0_04 及更高版本。下载后直接安装即可。 二.配置Compiere 服务器 到https://www.360docs.net/doc/b018146974.html,/download/dl_software.htm 下载 compiere服务器软件无论您使用Oracle XE 还是 Oracle 10g 数据库,下面的执行步骤均相同(特别注明之处除外)。

silvaco在windows下安装教程

[原创]Silvaco在windows下的安装方法 ——提供给要学习silvaco软件的各位 首先声明:要安装此版本需要有windows版本的支持,因为linux版本无破解文件,所以我并没有像网上安装一样安装服务在linux版本下,我安装服务在windows,linux从windows 获得服务,从而开启linux下的silvaco。(本教程及软件是给那些想要学习silvaco软件的,请勿用于任何其他商业用途) 本教程从安装windows的silvaco开始到虚拟机一直教到大家将silvaco安装完成为止。。 首先告诉大家此教程是在windows xp下操作的,如果是vista用户,操作有些不同,我会慢慢提出来。 安装windows xp版本的silvaco ,这个网上都有: 1、安装TCAD 2007.04,如果作为LICENSE服务器,请选择安装SFLM server。然后在系统服务里停止: Standard Floating License Manager (SFLMSERVERD),如果有这个服务的话。 2、把rpc.sflmserverd.exe拷贝到下面的路径: sedatools\lib\rpc.sflmserverd\8.0.3.R\x86-nt 替换原来的文件。 3、在快捷方式中运行Start Server 确保下面的系统服务启动: Standard Floating License Manager (SFLMSERVERD) 会要你设密码,随便写一个就行。 4、通过IE http://127.0.0.1:3162进入SFLM设置,通过SFLM在线获取该电脑的SFLM_ID。可能得到的格式如下:0SSMID12345678,也可能是比这个复杂多的形式 5、修改Silvaco.lic中下面的一行,替换为4中你申请到的SFLM_ID。 LM_HOSTIDS XXX 6、拷贝修改后的Silvaco.lic到下面路径: C:\sedatools\etc\license 7、通过SFLM Access,正常选择安装Silvaco.lic。 8、检查license状态,所有license现在应该正常可用了。 9、设置局域网其他用户到该PC的ip地址获取license。 所有人应该正常可用。 (我需要提出的是:如果你是vista用户请注意,虽然xp版本的也能使用,不过要注意如何操作,在开启和关闭服务的时候如果不能关闭,也就是复制破解exe覆盖文件时不能覆盖,请注意请在关闭和开启服务时右击“以管理员身份运行”,这样就能正常使用了。)

weblogic在windows下安装及部署项目教程

Weblogic在windows下安装及部署项目教程 1.Weblogic10.3.6版本下载地址: https://www.360docs.net/doc/b018146974.html,/technetwork/cn/middleware/ias/downloads/wls-main-091116-zhs.html 或在\\192.168.60.244\Tool\测试环境工具上取 2.安装 1)安装目录:D:\Oracle\Middleware 2)选择安装类型为自定义,选择自己需要安装的组件,其他都是默认直接下一步,直 到安装完成。 3.创建域 1)创建新的weblogic域 2)其他默认,点“下一步”,到下图这个界面设置用户名和密码。例如:用户名:weblogic 密码:weblogic1

3)选择服务器启动模式和JDK 4)选择可选配置

5)配置管理服务器 6)后面步骤直接“下一步”,知道创建完成。创建完成,运行 D:\oracle\Middleware\user_projects\domains\easyStore_domain\bin\startWeblogic.c md,用浏览器打开http://192.168.60.244:7001/console可直接登录管理服务器。 4.配置受管服务器 1)登录界面,使用自己设置的用户名密码登录

2)新建受管服务器 3)设置服务器名称、服务器监听地址、服务器端口,名称和端口均不与其他服务器重 复。然后点击“下一步”,完成。

5.配置数据源 1)点击“新建”,选择“一般数据源” 2)设置JDBC数据源名称,以及数据库类型,点击“下一步” 3)设置数据库驱动程序,选择如下图所示 4)设置JDBC数据源详细信息,实际的数据库名称、数据库用户名、主机地址等。

Windows 2003下CACTI的安装及配置

前期准备: 平台:Windows2003 需要安装的软件: Apache2.0.63 https://www.360docs.net/doc/b018146974.html,/ PHP5.2.2 https://www.360docs.net/doc/b018146974.html,/downloads.php MySQL5.1.50 https://www.360docs.net/doc/b018146974.html,/downloads/mysql/ cacti-0.8.7g https://www.360docs.net/doc/b018146974.html,/download_cacti.php cygwin 1.7.6-1https://www.360docs.net/doc/b018146974.html,/需在线安装 rrdtool-1.2.15 https://www.360docs.net/doc/b018146974.html,/downloads/ Spine(Cactid)0.8.7 https://www.360docs.net/doc/b018146974.html,/downloads/ net-snmp-5.5 https://www.360docs.net/doc/b018146974.html,/download.html 1,安装Apache 按提示默认安装即可。 注意:如果有80端口或是8080端口已经占用,请更改Apache安装文件目录conf文件夹的httpd.conf里,listen的端口为808X: # # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses (0.0.0.0) # #Listen 12.34.56.78:80 Listen 8083 我的80端口和8081端口已被占用,所以Apache的测试页为:http://localhost:8083

在windows系统下安装PANDA全过程

在windows系统下安装PANDA的详细全步骤 1、在windows系统下安装虚拟机(Linux) 安装一个虚拟机.下载一个VMWare Player并安装 2、在Linux虚拟机中安装FSL (1)在FSL官网中,下载的FSLvm,MD5summer, fsl-5.0.8-centos6_64.tar.gz(如果是为 了使用PANDA下载fsl,我们建议使用fsl网站上前面两个Centos版本,这个版本在ubuntu下也是可以的,不要使用Debian/Ubuntu版本,使用这个版本是用不了PANDA的) 将下载的FSLvm,MD5summer并解压 运行MD5summer,选择FSLVm6_64文件夹,点击Create sums. 选择FSLVm6_64文件夹,点击Create sums.

Select All -> Add -> OK. 形成一个FSLVm6_64.md5文件 运行VMWare Player -> Open a Virtual Machine.

选择FSLVm6_64,然后Play.第一次运行的时候会问if the VM was moved or copied,选择I copied it.然后可能要更新. 如果没有自动跳出FSLVM6_64,则选择打开虚拟机,选择刚才生成好的 登陆,密码是fsluser.

(2)进入linux的界面中, 1)将fsl-5.0.8-centos6_64.tar.gz拷贝到/home/fsl下,打开一个终端(Ctrl + Alt + T)2)进入/home/fsl目录下 cd /home/fsl 3)解压压缩包 tarzxvffsl-5.0.8-centos6_64.tar.gz 4)切换到root用户下 su输入密码fslroot 5) 将fsl的环境变量写到系统文件中(只需将下面命令拷贝到终端执行) echo "FSLDIR=/home/fsl/fsl" >> /etc/profile echo ". \${FSLDIR}/etc/fslconf/fsl.sh" >> /etc/profile

Nessus在windows下地安装与使用

Nessus的安装和使用 1Nessus的简介 Nessus被认为是目前全世界最多人使用的系统漏洞扫描与分析软件。总共有超过75,000个机构使用 Nessus 作为扫描该机构电脑系统的软件。 1998年, Nessus 的创办人 Renaud Deraison 展开了一项名为 "Nessus"的计划,其计划目的是希望能为因特网社群提供一个免费、威力强大、更新频繁并简易使用的远端系统安全扫瞄程序。经过了数年的发展, 包括 CERT 与 SANS 等著名的网络安全相关机构皆认同此工具软件的功能与可用性。 2002年时, Renaud 与Ron Gula, Jack Huffard 创办了一个名为Tenable Network Security 的机构。在第三版的Nessus 发布之时, 该机构收回了 Nessus 的版权与程序源代码(原本为开放源代码), 并注册了 https://www.360docs.net/doc/b018146974.html, 成为该机构的网站。目前此机构位于美国马里兰州的哥伦比亚。 2Nessus的特色 ●提供完整的电脑漏洞扫描服务, 并随时更新其漏洞数据库。 ●不同于传统的漏洞扫描软件, Nessus 可同时在本机或远端上摇控, 进行系 统的漏洞分析扫描。 ●其运作效能能随着系统的资源而自行调整。如果将主机加入更多的资源(例如 加快CPU速度或增加内存大小),其效率表现可因为丰富资源而提高。 ●可自行定义插件(Plug-in) ●NASL(Nessus Attack Scripting Language) 是由 Tenable 所开发出的语言, 用来写入Nessus的安全测试选项。 ●完整支持SSL (Secure Socket Layer)。 ●自从1998年开发至今已谕十年, 故为一架构成熟的软件。 3Nessus的安装和注册 3.1 安装 首先,要安装Nessus必须确认你所安装的硬盘的分区格式是NTFS,如果是FAT32,安装完成后客户端无法登陆。要在Windows上安装nessus,需要到Nessus的官方网站上下载Windows版本的Nessus,下载地址:https://www.360docs.net/doc/b018146974.html,/nessus/。在首页上选择Download选项,然后在页面上会出现各种版本的nessus,有Windows,FreeBSD,Linux和Mac OS X操作系统等版本,我们选择的是Windows版本,之后会出现两中类型的nessus,64bit和32bit,请按你CPU的类型选择。目前的nessus版本是Nessus 4.2.2。

Cacti-0.8.8b详细安装及配置步骤

1.Cacti环境安装 1.1安装LAMP环境 安装LAMP环境,当然,如果你有兴趣可以采用编译,我线上Mysql是编译的,其余是yum安装的。在这次实验采用yum安装。 关闭iptables与selinux,如果有需要,后面再开启。配置好yum源,开始安装。 yum -y install httpd http-devel httpd-manual mysql mysql-devel mysql-server php php-devel php-mysql php-common php-pdo php-gd lm_sensors net-snmp php-snmp net-snmp-utils chkconfig mysqld on chkconfig httpd on chkconfig snmpd on service mysqld start service httpd start service snmpd start 在浏览器中输入http://serverip,查看测试页有没有出现。 1.2配置snmp vim /etc/snmp/snmd.conf

#/etc/init.d/snmpd restart 验证snmp配置是否正确, # snmpwalk -v 2c -c public 127.0.0.1 if 表示正确 IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2 IF-MIB::ifDescr.1 = STRING: lo 如果提示Timeout: No Response from 127.0.0.1则配置不对。 1.3创建数据库存储cacti的数据

CactiEz中文版安装使用说明

CactiEZ中文版是最简单有效的Cacti中文解决方案,整合Spine,RRDTool和美化字体。集成Thold,Monitor,Syslog,Weathermap,Realtime,Errorimage,Mobile,Aggregate以及Apache,Squid,F5,Nginx,MySQL等模板。支持多种硬盘控制器和阵列卡,基于CentOS6,启动速度更快,支持EXT4文件系统,原生rsyslog更稳定。全中文页面,中文图形,支持邮件报警,支持声音报警,安装方便使用简单。 ============================================================================================ ==== 说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合Cacti等相关软件,重新编译而成的一个操作系统! 优点:省去了复杂烦琐的Cacti配置过程,安装之后即可使用,全部中文化,界面更友好 缺点:CactiEZ是一个完整的操作系统,需要专门一台电脑才能安装使用 系统运维温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接 具体案例: 1、CactiEZ监控主机 IP:192.168.21.175 子网掩码:255.255.255.0 网关:192.168.21.2 DNS:8.8.8.8 8.8.4.4 2、Windows客户机 系统:Windows Server 2003 IP:192.168.21.130,与CactiEZ监控主机在同一个局域网内 3、Linux客户机 系统:CentOS 6.2 IP:192.168.21.169,与CactiEZ监控主机在同一个局域网内

Windows下安装Cacti详细手册

目录 一、背景 (2) 二、MRTG与Cacti比较 (2) 1.MRTG优缺点 (2) 2.Cacti 的优点 (2) 三、软件安装 (2) 1.安装Apache2 (2) 2.安装PHP5 (4) 3.安装Mysql (4) 4.安装Cacti (5) 5.安装rrdtools (6) 四、软件配置 (6) 1.配置Apache2 (6) 2.配置PHP5 (6) 3.配置Mysql (7) 4.配置Cacti (8) 五、设置Cacti监控网络设备 (10) 1.登录Cacti (10) 2.添加要监控的设备 (10) 3.创建设备图形 (13) 4.创建图形树进行分类管理 (13) 5.将所创建的图形分配到相应的图形树中 (14) 六、Cacti相关资料 (15)

一、背景 我们现在使用的网络监控软件MRTG不能对过去某一时间的详细资料进行查询,在我们追查过去的问题时很不方便。我们需要寻找新的监控工具以满足我们的需求。 Cacti是一种利用RRDtool、snmp、PHP、mysql、apache多种工具而成的一种监控软件,其源代码基于PHP脚本编写并公开,它的基本工作流程就是: 1.定期执行php脚本代码,通过snmp读取指定监控项目的snmp信息,然后将结果保存到rrdtool数据文件中。 2.在web监控界面中通过php读取rrdtool并生成指定监控项目和指定时间段的监控曲线图。 它主要有以下一些特点: 1.基于RRDtool使效率提高。 Cacti基于RRDtool存储监控数据,在查询指定时间段的监控数据时候不用浏览整个数据文件,和mrtg 的文本log相比具有更高的效率。监控曲线图片的生成并不想mrtg那样和数据采集同步并定时成生,而是通过RRDtool提供的图片生成工具使用PHP脚本来生成动态web图片。 2.监控项目曲线图多样化。 RRDtool的图片生成工具提供了多种参数,这样可以动态设置更多样式的曲线图,也可以将若干监控项目集中显示在一张图片中,例如我们如果要同时显示http/ftp/dns多种协议的流量时就可以派上用场了。当然,其他如颜色,曲线样式,图片大小格式,说明文字等都可以定制产生。 另外最大的一个改进功能是定时时间段的曲线图生成,突破了mrtg中日周月年的固定模式。 3.基于web配置与监控,操作简单 Cacti是一种web方式的软件,监控项目的新建、配置、管理、监控都是基于web方式来操作的,这对于使用者来说是非常方便。 二、MRTG与Cacti比较 1.MRTG优缺点 优点: 简单、易上手,基本安装完了之后只要更改一下配置文件即可。 缺点: 1)使用文本式的数据库,数据不能重复使用; 2)只能按日、周、月、年来查看数据; 3)只能画两个DS(一条线、一个块); 4)无管理功能; 2.Cacti 的优点 1)使用rrd存储格式,数据能重复使用,比如我可以将一个rrd文件中的数据与另一个rrd文件中的数据相加。 2)可以定义任意时间段画图,即你可以画出一张半年以来的数据的图,也可以画出一张半小时以来的图。 3)能画任意个DS。 4)CDEF让你能任意摆弄数据 5)提供了强大的数据管理和用户管理功能 三、软件安装 1.安装Apache2 运行Apache2安装程序,

Cacti监控windows 2003主机

Cacti监控windows 2003主机 1.下载Cacti_SNMP_INFORMANT_STD_W32_Metrics.zip 2.把监控windows的脚本导入到cacti Cacti_SNMP_INFORMANT_STD_W32_Metrics.zip包里面包含的文件就是脚本文件,其中 snmp_informant_.xml开头的文件是需要放到cacti服务端的snmp_queries目录下,如果你的Linux 的话,目录地址是 /var/www/html/resource/snmp_queries/。cacti_data_query开头的文件全都通过cacti页面导入。 3.在Devices中新建立个服务器,填写名称和ip地址,还有snmp信息,最下面的地方add如下东西:

4.然后点最上面的Create Graphs for this Host ,选择Graphs Types, 添加需要监控的项目。 5.客户端windows安装snmp

这里需要说明的是,除了windows自带安装的snmp之外,还需要安装SNMP Informant-STD 1.6 软件下载地址:https://www.360docs.net/doc/b018146974.html,/informant/download.htm 只要安装好就可以了,不需要任何设置,当然之前你自带的snmp需要设置一下,一个是设置public,一个是监控你snmp的服务器IP地址,也就是cacti 的机器IP地址,设置好后记得重起一下snmp服务,这点很重要,然后检查一下服务器是不是开放了udp 161端口,还有防火墙是不是开放了这端口。

Windows下本地blast安装方法

Windows系统下本地BLAST安装方法 1.下载安装文件: 以blast-2.2.23-ia32-win32.exe为例,将此安装文件放至指定目录,以G:\blast-\为例,如图所示: 2. 运行安装程序: 双击上述安装文件,单击运行: 程序会自动在blast-文件夹下生成3个文件夹:\bin\、\data\和\doc\:

3. 添加配置文件: 在桌面(任意可以新建文件的地方)新建一个.txt文件,然后将其重命名为NCBI.ini,在提示更改后缀名的对话框中点是。打开NCBI.ini,在其中写入如下两行内容: [NCBI] Data="path\data\" 上边的path是你的blast安装路径,在本例中为G:\blast-,因此,NCBI.ini中的内容为: [NCBI] Data="G:\blast-\data\" 写完后保存,然后将该文件复制至C:\Windows目录下: 至此,本地blast-2.2.23-ia32-win32安装完毕。 4. 导入数据库:

从ftp://https://www.360docs.net/doc/b018146974.html,/blast/db/上,可下载各类数据库文件,下载完毕后,将其解压至G:\blast-\data\目录下。 注意事项: 1.NCBI.ini中的路径为blast所在安装路径; 2.此安装办法适用与指定版本,对于blast+版本不适用,若想安装新 版本,可自行到网站查阅安装办法; 附:运行示例: 1.打开cmd命令行;

2.通过cd命令到达安装目录的bin\目录下 3.通过dir命令查看全部可执行的子程序: 4.使用blastall.exe进行比对: 输入blastall.exe -d refseq_rna.01 -i G:\blast-\data\test_query.fa -p blastn 该命令各部分的含义为: ①blastall.exe:blast主程序; ②-d refseq_rna.01:选择refseq_rna.01为被搜索的数据库,其数

Cacti配置及维护指导手册

Cacti配置及维护指导手册 作者:Cocis 考虑到cacti配置较为复杂,建议直接下载cactiEZ系统进行安装,快捷、省时。CactiEZ 0.3是一个专门用作运行cacti的linux发行版,该版本由Jimmy Conner 制作发行,基于CentOS4.4。安装后只会在系统中安装cacti和webmin所必须的软件,整个系统非常小(安装光盘只有310M),并且已经安装好了一些cacti 的插件,如 BackUp,Discovery,Flowview,Haloe,MacTrack,Monitor,NTop,RRDClean,Reports,Thold,Tools,Update等,其中有些需要用户自己启用才可使用。整个操作系统一旦安装完成,配置好IP后即可使用Cacti,为大家节省了的安装配置时间,只不过需要占用一台服务器。 一、安装CactiEZ 1.先下载CactiEZ v0.3安装包,解压出ISO镜像文件。 官方下载地址: https://www.360docs.net/doc/b018146974.html,/downloads/CactiEZ-v0.3.tar.gz 2.刻录光盘。从光盘启动后进入CactiEZ的安装界面,回车后自动安装整个操作系统。安装大概需要5-10分钟。 3.安装完成后重启,开始配置硬件向导,按回车键,全自动。。。 4.进入登陆界面,系统默认用户:root 默认密码:CactiEZ 二、更改系统相关配置 1.更改系统帐户及密码 #passwd root 然后输入两次密码即可。 2.配置IP地址 #vi /etc/sysconfig/network-scripts/ifcfg-eth0 根据实际情况进行修改。--------------------------- DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.0.255 HWADDR=00:0C:29:31:5D:50 IPADDR=192.168.0.22 NETMASK=255.255.255.0 NETWORK=192.168.0.0 GATEWAY=192.168.0.1 ONBOOT=yes TYPE=Ethernet --------------------------- :wq保存退出 #service network restart 重新启动网络 3.配置DNS CactiEZ默认没有设置DNS的界面,需手动进行配置。 #vi /etc/resolv.conf 根据实际情况进行修改。 --------------------------- nameserver 192.168.0.36

在windows 2003上安装Cacti 傻瓜安装AppServ 安装Apache+php+MySQL

在windows 2003上安装Cacti 一、背景 我们现在使用的网络监控软件MRTG不能对过去某一时间的详细资料进行查询,在我们追查过去的问题时很不方便。我们需要寻找新的监控工具以满足我们的需求。 Cacti是一种利用RRDtool、snmp、PHP、mysql、apache多种工具而成的一种监控软件,其源代码基于PHP脚本编写并公开,它的基本工作流程就是: 1.定期执行php脚 本代码,通过snmp读取指定监控项目的snmp信息,然后将结果保存到rrdtool数据文件中。 2.在web监控界面中通过php读取rrdtool并生成指定监控项目和指定时间段的监控曲线图。 它主要有以下一些特点: 1.基于RRDtool使效率提高。 Cacti基于RRDtool存储监控数据,在查询指定时间段的监控数据时候不用浏览整个数据文件,和mrtg的文本log相比具有更高的效率。监控曲线图片的生成并不想mrtg那样和数据采集同步并定时成生,而是通过RRDtool提供的图片生成工具使用PHP脚本来生成动态web图片。 2.监控项目曲线图多样化。 RRDtool的图片生成工具提供了多种参数,这样可以动态设置更多样式的曲线图,也可以将若干监控项目集中显示在一张图片中,例如我们如果要同时显示http/ftp/dns多种协议的流量时就可以派上用场了。当然,其他如颜色,曲线样式,图片大小格式,说明文字等都可以定制产生。 另外最大的一个改进功能是定时时间段的曲线图生成,突破了mrtg中日周月年的固定模式。 3.基于web配置与监控,操作简单 Cacti是一种web方式的软件,监控项目的新建、配置、管理、监控都是基于web方式来操作的,这对于使用者来说是非常方便。 二、Cacti 的优点 1)使用rrd存储格式,数据能重复使用,比如我可以将一个rrd文件中的数据与另一个rrd文件中的数据相加。 2)可以定义任意时间段画图,即你可以画出一张半年以来的数据的图,也可以画出一张半小时以来的图。 3)能画任意个DS。 4)CDEF让你能任意摆弄数据 5)提供了强大的数据管理和用户管理功能 三、安装cacti 软件需求: AppServ 2.5.1 PHP 5.0.1 Apache 1.3.31 MySQL 4.0.20

Nessus在windows下的安装与使用

Nessus的安装和使用 1 Nessus的简介 Nessus被认为是目前全世界最多人使用的系统漏洞扫描与分析软件。总共有超过75,000个机构使用 Nessus 作为扫描该机构电脑系统的软件。 1998年, Nessus 的创办人 Renaud Deraison 展开了一项名为 "Nessus"的计划,其计划目的是希望能为因特网社群提供一个免费、威力强大、更新频繁并简易使用的远端系统安全扫瞄程序。经过了数年的发展, 包括 CERT 与 SANS 等著名的网络安全相关机构皆认同此工具软件的功能与可用性。 2002年时, Renaud 与Ron Gula, Jack Huffard 创办了一个名为Tenable Network Security 的机构。在第三版的Nessus 发布之时, 该机构收回了 Nessus 的版权与程序源代码(原本为开放源代码), 并注册了 https://www.360docs.net/doc/b018146974.html, 成为该机构的网站。目前此机构位于美国马里兰州的哥伦比亚。 2 Nessus的特色 ●提供完整的电脑漏洞扫描服务, 并随时更新其漏洞数据库。 ●不同于传统的漏洞扫描软件, Nessus 可同时在本机或远端上摇控, 进行系统 的漏洞分析扫描。 ●其运作效能能随着系统的资源而自行调整。如果将主机加入更多的资源(例如 加快CPU速度或增加内存大小),其效率表现可因为丰富资源而提高。 ●可自行定义插件(Plug-in) ●NASL(Nessus Attack Scripting Language) 是由Tenable 所开发出的语言,用 来写入Nessus的安全测试选项。 ●完整支持SSL (Secure Socket Layer)。 ●自从1998年开发至今已谕十年, 故为一架构成熟的软件。 3 Nessus的安装和注册 3.1 安装 首先,要安装Nessus必须确认你所安装的硬盘的分区格式是NTFS,如果是FAT32,安装完成后客户端无法登陆。要在Windows上安装nessus,需要到Nessus的官方网站上下载Windows版本的Nessus,下载地址:https://www.360docs.net/doc/b018146974.html,/nessus/。在首页上选择Download 选项,然后在页面上会出现各种版本的nessus,有Windows,FreeBSD,Linux和Mac OS X 操作系统等版本,我们选择的是Windows版本,之后会出现两中类型的nessus,64bit和32bit,请按你CPU的类型选择。目前的nessus版本是Nessus 4.2.2。

支持Cacti运作的PHP+RRDtool环境配置方法

Cacti功能类似于我们所熟悉的MRTG。MRTG确实是非常好的老牌系统监控工具,但由于他历史实在很久了,使得许多功能以及配置等方面都比较落后。实现得比较费劲,管理起来很麻烦。比如我有几百个被监测点,分布在不同的机房,而且我需要将这些服务器和网络设备分类,这样的话我就要将这些被监测点放在不同的mrtg配置文件中,运行多个crontab,而且还要自己写了一些html页面对其进行管理。 Cacti其实是一套php程序,一个rrdtool工具。它运用snmpget采集数据,使用rrdtool绘图。界面非常漂亮,它提供了强大的数据管理和用户管理功能,一张图是属于一个host的,每一个host又可以挂载到一个树状的结构上。 用户的管理上,作为一个开源软件,它做到为指定一个用户能查看的“树”、host、甚至每一张图,还可以与LDAP结合进行用户的验证。Cacti还提供自己增加模板的功能,让你添加自己的snmp_query和script。功能相当强大! 本文前半部分是教程,主要介绍了Cacti以及其PHP运行环境的安装配置。后半部分将实际举例如何使用Cacti监控诸如Linux,Windows。以及支持SNMP管理协议的路由器等网络设备。 环境搭建 Cacit运行环境需要PHP+Mysql+rrdtool以及snmp工具的支持。 下边是本次配置需要用到的软件。 Catci: 1.cacti-0.8.6j.tar.gz 2.rrdtool-1.2.27.tar https://www.360docs.net/doc/b018146974.html,-snmp-5.0.9-2.30E.15 https://www.360docs.net/doc/b018146974.html,-snmp-devel- 5.0.9-2.30E.15 https://www.360docs.net/doc/b018146974.html,-snmp-libs-5.0.9-2.30E.15 https://www.360docs.net/doc/b018146974.html,-snmp-utils-5.0.9-2.30E.15 PHP: 1.php-5. 2.6.tar.gz 2.curl-7.15.0.tar.gz 3.freetype-2.1.9.tar.gz 4.gettext-0.16.1.tar.gz 5.gd-2.0.35.tar.gz 6.jpegsrc.v6b.tar.gz 7.libart_lgpl-2.3.17.tar.gz 8.libpng-1.2.18.tar.gz 9.libxml2-2.6.32.tar.gz 10.ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz 11.zlib-1.2.3.tar.gz 12.libxml2-2.6.32.tar.gz

在windows下安装cuda

在windows下安装cuda 安装环境 在windows下,目前cuda只支持在 Visual Studio 7.x 系列、Visual Studio 8以及免费的 Visual Studio C++ 2005 Express。所以需要预先安装以上软件中的任意一种。 下面我们以Visual Studio 2005 为例演示cuda的安装。 1、cuda安装包 cuda是免费使用的,各种操作系统下的cuda安装包均可以在https://www.360docs.net/doc/b018146974.html,/object/cuda_get_cn.html上免费下载。 Cuda提供3个安装包,分别是:SDK, Toolkit和Display。SDK包括许多例子程序和函数库。Toolkit包括cuda的基本工具。Display包括了NV显卡的驱动程序。Toolkit是核心。 2、安装cuda 2.1 安装cuda toolkit 双击NVIDIA_CUDA_toolkit_2.0_win32.exe安装,安装完成后在安装目录下出现6个文件夹,分别是: Bin :工具程序和动态链接库 Doc :相关文档 Include : header头文件包 Lib :程序库 Open64 :基于open64的cuda compiler Src :部分原始代码 安装过程中toolkit自动设定了3个环境变量:CUDA_BIN_PATH、CUDA_INC_PATH和CUDA_LIB_PATH分别对应工具程序库、头文件库和程序库,预设路径为当前安装文件夹下的bin、include 和lib三个文件夹。 2.2 安装CUDA SDK SDK可以根据需要选择安装(推荐安装,因为SDK中的许多例子程序和函数库非常有用)。 2.3 安装 CUDA Display 对于没有安装NV显卡的计算机,不需要安装Display安装包,程序也可以在模拟模式下运行。 3、在Visual Studio中使用cuda CUDA的主要工具是nvcc,它会执行所需要的程序,将CUDA程序编译并执行。下面介绍了四种配置cuda nvcc的方法。这里推荐使用第四种方法。 3.1、方法一(NV自带的修改模板方法) 3.1.1、在CUDA SDK安装目录下的project目录下新建文件夹,命名为想要建立的工程名字,比如test1。并在project文件夹下找到SDK自带的template文件夹,将template 文件夹下所有的文件copy到test1下。 3.1.2、将copy到test1文件夹下的所有文件文件名中的template改为test。

Cacti监控Windows CPU利用率

Cacti监控Windows CPU利用率 1目的 本文的目的是介绍如何在Cacti中对多核CPU进行监控,并将多核CPU的使用率求平均值后在一张监控图中进行显示。 Cacti自身提供了一个监控Windows CPU的Data query,通过该方法可以列举出Windows 系统内所有CPU核的使用率,例如2核CPU会画出两个CPU的监控图,4核CPU会画出4个CPU的监控图。 这样的监控对于CPU核数较少的Windows系统来说还不是问题,但在我最近的项目中碰到的情况是一般的服务器都有40核,有的甚至是64核,对于如此多的CPU核数再采用每核一张图的方式就有点繁杂了。 我们还是希望不论是多少核的CPU,最后都统一求平均值后在一张图中显示。解决的思路是利用Data Query定义PHP脚本将多核CPU进行汇总,最后只输出一行,该值是多核CPU 利用率的平均值。 2实现方法 2.1定义XML文件 对原有的/resource/script_server目录下的host_cpu.xml文件进行修改,目的是让其只显示一行,并显示总共有多少核的CPU,将新文件命名为host_cpu_sv.xml,部分内容如下: Get Host MIB CPU's |path_cacti|/scripts/ss_host_cpu_sv.php ss_host_cpu_sv php Processor Index Number input

相关文档
最新文档