如何:从单服务器部署移到双服务器部署
在双服务器部署中,由两台或更多台物理服务器承载构成 Team Foundation 逻辑应用层和数据层的组件。从单服务器部署移到双服务器部署时,需要将原始服务器转换为应用层服务器,并在新的数据层服务器上安装和配置 SQL Server。然后,将 SharePoint 产品和技术以及 SQL Server Reporting Services 重定向到新的数据层服务器,并将原始部署中的数据还原到新的数据层服务器。有关更多信息,请参见 Team Foundation Server 移动类型。 在执行此类型的移动之前,应通读本主题并考虑打印所有必需的步骤。还应考虑打印本主题所链接的那些主题以及包含有关其他必需步骤的信息的主题。 在此类型的移动过程中,切勿执行以下任何操作: 不得更改服务帐户。 不得更改原始服务器的名称或域。 在不具备足够信任的情况下,不得将数据层服务器安装到原始部署之外的其他域中。 若要执行此类型的移动,必须按照列出的顺序完成以下各节中的过程: 备份数据库和加密密钥安装SQL Server 并准备新硬件还原数据库重定向 SharePoint 产品和技术以使用新的内容数据库重新连接管理数据库和配置数据库重定向并测试 SQL Report Server、Reporting Services 以及默认报表将应用层服务器重定向到新的数据层重新生成 Team System 多维数据集删除版本控制缓存更新服务帐户重新启动服务刷新客户端计算机上的数据缓存必需的权限 若要完成上述这些过程,您必须是新旧服务器上 Administrators 组的成员以及 Team Foundation Administrators 组的成员。 除了这些权限,对于运行 Windows Server 2008 或 Windows Vista 的计算机,您可能还需要满足以下要求: 若要使用命令行过程,您可能需要通过以下操作使用提升的权限打开命令提示窗口:单击“开始”,右击“命令提示符”,再单击“以管理员身份运行”。 若要使用需要 Internet Explorer 的过程,您可能需要通过以下操作以管理员身份启动 Internet Explorer:单击“开始”,单击“所有程序”,右击“Internet Explorer”,再单击“以管理员身份运行”。 若要编辑 webconfig 文件,您可能需要通过以下操作以管理员身份启动文本编辑器:单击“开始”,单击“所有程序”,右击所需编辑器,再单击“以管理员身份运行”。 若要访问 Reporting Services 的报表管理器、报表或网站,您可能需要将这些站点添加到 Internet Explorer 的受信任站点列表中,或者以管理员身份启动 Internet Explorer。 有关更多信息,请参见 Microsoft 网站。 备份数据库和加密密钥 必须先备份 Team Foundation 的数据库,然后才能将部署从单服务器配置更改为双服务器配置。在此移动过程中,需要将这些数据库还原到新的数据层服务器。 备份数据库和加密密钥 备份所有的 Team Foundation 数据库。 有关更多信息,请参见如何:备份 Team Foundation Server。 说明:您还必须备份要保留的 SharePoint 产品和技术的任何自定义站点定义、自定义站点模板或自定义 Web 部件。有关更多信息,请参见 Microsoft 网站上的“Backup and Restore Options for Windows SharePoint Services 20”(Windows SharePoint Services 20 的备份和还原选项),或者对于 Windows SharePoint Services 30,请参见 Microsoft 网站上的“Choose backup and recovery tools (Windows SharePoint Services)”(选择备份和恢复工具 (Windows SharePoint Services))。如果 SharePoint 产品和技术安装在应用层上,并且希望将 SharePoint 产品和技术的数据库移到新的数据层,请确保备份 SharePoint 产品和技术的管理数据库(SharePoint_AdminContent_ID) 以及内容和配置数据库。 备份Reporting Services 加密密钥。确保将此密钥存储在运行 Team Foundation Server 的服务器以外的其他计算机上的安全位置,并且新的应用层服务器可以访问该密钥。还必须存储加密该密钥时使用的密码。 有关更多信息,请参见如何:备份 Reporting Services 加密密钥。 安装SQL Server 并准备新硬件 备份数据库后,必须在将用作部署的新数据层服务器的计算机上安装 SQL Server。 安装SQL Server 并为移动准备服务器 在新环境中安装 SQL Server,并确保其正常运行。 有关详细说明,请打开 Team Foundation 安装指南,找到有关如何在双服务器部署中安装 SQL Server�0�2的主题。您安装的 SQL Server�0�2的版本必须与原始部署中使用的版本相同。可以在 Microsoft 网站上找到该指南。 在应用层服务器上,打开命令提示窗口,将目录更改到 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools。 在命令提示符处,键入下列命令: TfsDBexe install /server:"新SQL Server 名称" /property:"TFS_SERVICE_ACCOUNT=TFS 服务帐户;TFS_REPORTING_ACCOUNT=TFS Reporting Services 帐户;LCID=LCID 编号;VSTF_AS_INSTANCE=Analysis Services 服务器名称;VSTF_AS_DATABASE=Team Foundation 数据仓库名称;VSTF_AS_ACCOUNT="新SQL Server 名称 是刚刚安装了 SQL Server 并且您打算在其上还原数据的服务器的名称。如果您使用的是命名实例,则不但要包括服务器名称,而且还必须包括相应的实例名。 TFS 服务帐户 是采用域\帐户 或计算机\帐户 格式的 Team Foundation Server 服务帐户。如果您使用的是系统帐户,则必须使用系统\帐户 格式指定该帐户。例如,如果要使用 Network Service,则应将它指定为 NT Authority\Network Service。 TFS Reporting Services 帐户 是采用域\帐户 或计算机\帐户 格式的 Reporting Services 数据源帐户。 LCID 编号 是您所用语言版本的 SQL Server 的语言排序规则 ID 号。例如,英语的 LCID 为 1033。 Analysis Services 服务器名称 是装有 SQL Server Analysis Services 的服务器的名称。默认情况下,此服务器与新SQL Server 名称 是同一台服务器。 Team Foundation 数据仓库名称 是Team Foundation 的原始数据仓库的名称。默认情况下,该值为 TfsWarehouse。 在运行 Reporting Services 的服务器上,检索并保存 Reporting Services 安装 ID 的列表。 打开“命令提示符”窗口,将目录改为下面的目录: %ProgramFiles%\Microsoft SQL Server\90\Tools\binn\ 运行RSKeyMgmt -l。 记录安装 ID,然后将列表打印出来或将其保存到一个安全的位置。 登录到相应的服务器,打开“计算机管理器”,按照指定的顺序停止下表中的服务和应用程序池: 登录到承载此程序的服务器 停止此组件 SharePoint 产品和技术 SharePoint 定时服务或 Windows SharePoint Services 定时 默认网站或团队网站 应用层 Visual Studio Team Foundation Server 任务计划程序服务 Microsoft Team Foundation Server Application Pool SQL Server Reporting Services SQL Server Reporting Services (TFS 实例)(服务) ReportServer 或 ReportServer$实例名称(应用程序池) 说明:如果您运行的是 SQL Server 2005,则需要在 Internet 信息服务 (IIS) 中管理 ReportServer;如果运行的是 SQL Server 2008,则不需要这样做。 默认网站或报表管理器网站 重要说明:若要在基于还原的移动过程中移动用户帐户和服务帐户,Team Foundation Server 的新部署必须处于停止状态。如果在还原数据之后、移动用户帐户和服务帐户之前重新启动 Team Foundation Server,可能会导致作为迁移目标的用户在 TFSIntegration 数据库中标记为已删除。如果组安全服务在与 Active Directory 同步时找不到用户的系统标识符 (SID),便会出现此问题。 有关如何启动和停止服务及应用程序池的更多信息,请参见如何:停止和启动服务、应用程序池和网站。 还原数据库 停止服务后,可以使用 SQL Server 提供的还原工具来还原 Team Foundation 的数据。 警告:You must restore all the databases to the same point in time 否则,数据库可能会损坏。打开“还原数据库”对话框 在新的数据层服务器上,单击“开始”,指向“所有程序”,指向“Microsoft SQL Server”,再单击“SQL Server Management Studio”。 说明:有关如何还原数据库的更多信息,请参见 Microsoft 网站上的“实现 SQL Server 数据库还原方案”。 在“服务器类型”列表中单击“数据库引擎”。 在“服务器名称”列表中,单击或键入适当的服务器。 在“身份验证”列表中,单击适当的方案。 在“用户名”中,键入有效帐户的用户名。 在“密码”中键入该帐户的密码(如果 SQL Server 要求),再单击“连接”。 展开“数据库”节点,以显示构成 Team Foundation 数据层的数据库的列表。 为以下各数据库完成“还原各个数据库”过程: ReportServer 说明:如果使用了命名实例,此数据库将命名为“ReportServer$实例名称”。 ReportServerTempDB 说明:如果您使用的是命名实例,则此数据库将命名为“ReportServerTempDB$实例名称”。 SharePoint 产品和技术的配置数据库(STS_Config_TFS 或 WSS_Config) 重要说明:仅当SharePoint 产品和技术安装在原始单服务器部署中且您未更改其位置时,才应还原此数据库。如果在其他服务器上使用或安装�0�2SharePoint 产品和技术,则不需要还原此数据库。 SharePoint 产品和技术的内容数据库(STS_Content_TFS 或 WSS_Content) 包含SharePoint 产品和技术数据的数据库的名称将随着两个因素而变化:一是所安装的 SharePoint 产品和技术的版本,二是安装人员是否对该名称进行了自定义。此外,如果 SharePoint 产品和技术安装在与 Team Foundation Server 不同的服务器上,则这些数据库可能不在 Team Foundation 的数据层服务器上。如果这些数据库不存在,则必须从 Team Foundation Server 分别管理它们的备份、还原和配置。但是,您应该同步数据库的维护操作以避免同步错误。 SharePoint 产品和技术的管理数据库 (SharePoint_AdminContent_ID) 重要说明:仅当SharePoint 产品和技术安装在原始单服务器部署中且您未更改其位置时,才应还原此数据库。如果在其他服务器上使用或安装�0�2SharePoint 产品和技术,则不需要还原此数据库。 TfsBuild TfsIntegration TfsVersionControl TfsWarehouse TfsWorkItemTracking TfsWorkItemTrackingAttachments TfsActivityLogging(可选) 说明:在还原过程中,必须将为自定义过程模板创建的任何自定义站点模板或 Web 部件上载到 SharePoint 产品和技术的数据库中。还原各个数据库 右击要还原的数据库,依次指向“任务”、“还原”,然后单击“数据库”。 重要说明:在大多数部署中,SQL Server 数据库和 SharePoint 产品和技术数据库将显示在“数据库”节点下方的数据库列表中。若要还原未显示在列表中的任何数据库,必须右击“数据库”节点,单击“还原数据库”,再指定未显示在列表中的任何数据库。“还原数据库”对话框打开。 在“还原的源”下方单击“源设备”,再单击省略号按钮(“…”)。 在“指定备份”对话框中,指定备份文件的位置,再单击“确定”。 您应用的第一个备份必须是完整备份,随后按照创建顺序依次应用事务日志备份。 在“选择要还原的备份集”下方指定要还原的备份集。 在“选择页”窗格中,单击“选项”,然后选中“覆盖现有数据库”复选框。 在“将数据库文件还原为”列表中,确认路径与当前数据库路径相匹配。 如果要将数据库还原到其他驱动器,则此步骤十分重要。 在“恢复状态”下方单击相应的状态。 执行以下步骤之一: 如果不准备应用其他事务日志,请单击“数据库随时可用”。 如果准备应用其他事务日志,请单击“数据库尚不可用”。 单击“确定”关闭“还原数据库”对话框并还原数据库。 如果准备应用其他事务日志,请按照日志备份的创建顺序,对每组日志备份执行此过程。从完整备份后创建的第一组日志备份开始。 有关更多信息,请参见 Microsoft 网站上的“应用事务日志备份”。 重定向 SharePoint 产品和技术以使用新的内容数据库 必须将团队项目的任何网站重定向到新的 Team Foundation 数据层服务器上的内容数据库。如果要移动所有的 SharePoint 产品和技术数据库,则可以跳过此过程,而继续本主题稍后部分中的“重新连接管理数据库和配置数据库”过程。 重定向项目站点以使用新数据层服务器上的内容数据库 登录到承载 SharePoint 产品和技术的服务器,并将 SharePoint 产品和技术重定向到新数据层服务器上的内容数据库。 有关更多信息,请参见如何:重定向 SharePoint 产品和技术以使用新的内容数据库。 重新连接管理数据库和配置数据库 SharePoint 产品和技术保留在原始单服务器上,该服务器现在是新部署的应用层服务器。但是,您仍需要对它进行配置,以使用新数据层服务器上的管理数据库和配置数据库。 重新连接 SharePoint 产品和技术的管理数据库和配置数据库 登录到承载 SharePoint 产品和技术的服务器,打开命令提示窗口,更改到下面的目录: %PROGRAMFILES%\microsoft shared\web server extensions\12\bin。 键入以下命令: stsadm –o renameserver –oldservername 原始数据层服务器名称 -newserver 新数据层服务器名称 有关如何还原 SharePoint 产品和技术的更多信息,请参见 Microsoft 网站上的“White paper: Backing up, restoring, high availability, and disaster recovery for Office SharePoint Server farms”(白皮书:Office SharePoint Server 场的备份、还原、高可用性和灾难恢复)。 重定向并测试 SQL Report Server、Reporting Services 以及默认报表 重定向团队项目的网站后,必须将 Reporting Services 重定向到新的数据层服务器。 还原并验证 SQL Server 2005 Reporting Services 在运行 Reporting Services 的服务器上,单击“开始”,依次指向“所有程序”、“Microsoft SQL Server”、“配置工具”,再单击“Reporting Services 配置”。 在“选择报表服务器安装实例”对话框中,确保计算机名称是新的应用层服务器的名称。确保实例名为 MSSQLSERVER,再单击“连接”。 说明:如果您使用的是命名实例,则必须指定相应的实例名而不是默认实例 MSSQLSERVER。 在资源管理器窗格中单击“服务器状态”。 “报表服务器状态”窗格打开。 在“实例属性”中单击“启动”。 在资源管理器窗格中单击“数据库安装”。 “数据库连接”窗格打开。 在“服务器名称”中键入新数据层服务器的名称,再单击“连接”。 在“SQL Server 连接”对话框中单击“确定”。 “数据库连接”窗格打开。 单击“应用”。 在资源管理器窗格中单击“Windows 服务标识”。 “Windows 服务标识”页打开。 在“内置服务帐户”列表中单击“Local Service”。 “应用”按钮随即变成可用。此时,请勿单击它。 在“内置服务帐户”列表中单击“Network Service”,再单击“应用”。 在“SQL Server 连接”对话框中单击“确定”。 关闭“Reporting Services 配置”工具。 打开命令提示窗口,将目录更改到 %ProgramFiles%\Microsoft SQL Server\90\Tools\binn。 键入下面的命令以列出 Reporting Services 的安装 ID: RSKeyMgmt -l 在列表中,查找对应于旧数据层服务器的安装 ID。 键入下面的命令以移除该安装 ID,其中 DT 实例 ID 对应于旧数据层服务器: RSKeyMgmt –r DTInstanceID说明:请勿移除对应于新数据层服务器的安装 ID。 在运行 Reporting Services 的服务器上,单击“开始”,依次指向“所有程序”、“Microsoft SQL Server”、“配置工具”,再单击“Reporting Services 配置”。 在资源管理器窗格中单击“加密密钥”。 在“加密密钥”页上单击“还原”。 “加密密钥信息”页打开。 在“密码”中键入加密密钥文件的密码。 在“密钥文件”中键入或单击备份加密密钥(snk 文件)的位置,再单击“确定”。 将应用层服务器重定向到新的数据层 还原数据库后,必须使用 TfsAdminUtil 命令将部署的原始服务器(现在成为新的应用层服务器)重定向到新的数据层服务器。 将应用层服务器重定向到新的数据层服务器 登录到相应的服务器,打开“计算机管理器”,然后启动下表中的应用程序池和程序: 登录到承载此程序的服务器 启动此组件 应用层 Microsoft Team Foundation Server Application Pool 默认网站或团队网站 SQL Server Reporting Services ReportServer 或 ReportServer$实例名称(应用程序池) SQL Server Reporting Services (TFS 实例) 默认网站或报表管理器网站 打开命令提示窗口,将目录切换到 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools,然后键入以下命令: TfsAdminUtil RenameDT newDataTierServerName重要说明:为了使此命令成功,上一步中的应用程序池和程序必须正在运行。此要求是 Visual Studio Team System 2008 Team Foundation Server 中的新增要求。此外,此命令要求服务 webconfig 文件中的连接字符串引用部署的原始服务器。如果连接字符串引用新的数据层服务器,此命令将失败。为了使此命令正确运行,您必须还原原始服务器的名称。重新生成 Team System 多维数据集 配置连接并运行 TFSAdminUtil RenameDT 命令后,必须重新生成 Team System 多维数据集。Team System 多维数据集支持 SQL Server Reporting Services,并且包含 Team System 数据仓库的关系数据库中的数据。有关更多信息,请参见了解数据仓库体系结构。 重新生成 Team System 多维数据集 重新生成 Team System 多维数据集。 有关更多信息,请参见如何:重新生成 Team System 多维数据集。 删除版本控制缓存 重新生成 Team System 多维数据集后,必须删除应用层服务器和任何代理服务器上的版本控制缓存,以强制与新的数据层服务器同步。 删除版本控制缓存 在应用层服务器上,打开 %ProgramFiles%\Microsoft Visual Studio 2008 Team�0�2Foundation�0�2Server\Web Services\VersionControl 目录。 删除Data 子目录的内容,但不要删除 Data 子目录本身。 有关更多信息,请参见如何:在应用层服务器上删除版本控制缓存。 对部署中运行 Team Foundation Server Proxy 的任何服务器重复此过程。 更新服务帐户 如果您在单服务器部署上对服务帐户使用的是本地帐户或系统帐户(如 Network Service),则必须更改这些帐户。在双服务器部署中,不能使用本地帐户。可以使用相同的系统帐户,但必须更新相应的信息,使新的应用层服务器和数据层服务器上的每个帐户与正确的 SID 相关联。 说明:在新部署上创建的帐户名必须与原始部署中的帐户名匹配。此要求既包括用户帐户也包括服务帐户。刷新服务帐户 在运行 Reporting Services 的服务器上,打开“计算机管理器”,然后启动以下组件(如果它们尚未启动的话): ReportServer 或 ReportServer$实例名称(应用程序池) SQL Server Reporting Services (TFS 实例) 在新的应用层服务器上,打开命令提示窗口,将目录切换到 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools。 在命令行处,键入下列命令: TfsAdminUtil ChangeAccount 旧的域或计算机名\旧的 TFS 服务帐户 新的域或计算机名\新的 TFS 服务帐户 新密码说明:忽略任何指示服务帐户不存在或帐户不是数据仓库角色成员的警告。 在命令行处,键入下列命令: TfsAdminUtil ChangeAccount/ra 旧的域或计算机名\旧的 TFS Reporting Service 帐户 新的域或计算机名\新的 TFS Reporting Service 帐户 新密码说明:忽略任何指出服务帐户不是数据仓库角色成员的警告,或者提示您将帐户添加到服务帐户组的警告。重新启动服务 若要继续操作,必须重新启动 Team Foundation 所依赖的服务。 重新启动服务 登录到相应的服务器,打开“计算机管理器”,按照指定的顺序启动下表中的组件: 登录到承载此程序的服务器 启动此组件 SharePoint 产品和技术 SharePoint 定时服务或 Windows SharePoint Services 定时 应用层 Visual Studio Team Foundation Server 任务计划程序服务 Microsoft Team Foundation Server Application Pool 刷新客户端计算机上的数据缓存刷新客户端计算机上的数据缓存 使用“ClientService”Web 服务来强制客户端在下次连接到应用层服务器时更新跟踪工作项的缓存。 有关更多信息,请参见如何:刷新客户端计算机上的数据缓存。
Linux下常用的系统监控软件有Nagios、Cacti、Zabbix、Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员。
今天开始研究下Zabbix,使用Zabbix的目的,是为了能够更好的监控mysql数据库服务器,并且能够生成图形报表,虽然Nagios也能够生成图形报表,但没有Zabbix这么强大。
首先,我们先来介绍下Zabblx:
一Zabbix简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix由zabbix server与可选组件zabbix agent两部门组成。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
官方也提供了安装资料:http://wwwzabbixcom/wiki/howto/monitor
二Zabbix安装
21 zabbix WEB环境搭建
zabbix的安装需要LAMP或者LNMP环境。
需要其它的软件包
yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm
22 zabbix 数据库设置
zabbix数据库可以和zabbix服务器分离,采用用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。
grant all privileges on zabbix to zabbix_user@'ip' identified by '123456';
注:ip为zabbix服务器的IP地址。
关于数据库的安装,可以查看Mysql安装,我习惯使用二进制包。
启动数据库
/usr/local/mysql/bin/mysqld_safe --user=mysql &
登录数据库,创建帐号和设置权限:
mysql> use mysql;
mysql>create database zabbix character set utf8;
mysql>grant all privileges on zabbix to zabbix_user@'19216810197' identified by '123456';
23安装zabbix服务
增加zabbix用户和组
#groupadd zabbix
#useradd -g zabbix -m zabbix
官网下载解压软件包。
下载地址:
http://wwwzabbixcom/downloadphp
#wget http://fossiesorg/unix/misc/zabbix-203targz
# tar -zxvf zabbix-203targz
#cd zabbix-2203
导入数据库表
#cd zabbix-203/database/mysql
#mysql -uroot -pmysql zabbix < mysqlsql
#mysql -uroot -pmysql zabbix < imagessql
#mysql -uroot -pmysql zabbix < schemasql
编译安装zabbix
/configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy
编译报错checking for main in -lmysqlclient no
yum 安装mysql-devel即可
#make
#make install
添加服务端口
vim /etc/services
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
添加配置文件
# mkdir -p /etc/zabbix
# cp -r zabbix-2203/conf/ /etc/zabbix/
# chown -R zabbix:zabbix /etc/zabbix
修改server配置文件,添加zabbix数据库密码
vim /etc/zabbix/zabbix_serverconf
LogFile=/tmp/zabbix_serverlog
PidFile=/tmp/zabbix_serverpid
DBName=zabbix
DBUser=zabbix_user
DBPassword=123456 #指定zabbix数据库密码
ListenIP=19216810197 #服务器IP地址
修改Agentd配置文件,更改HOSTNAME为本机的hostname
vim /etc/zabbix/zabbix_agentdconf
PidFile=/tmp/zabbix_agentdpid #进程PID
LogFile=/tmp/zabbix_agentdlog #日志保存位置
EnableRemoteCommands=1 #允许执行远程命令
Server=19216810197 #agent端的ip
Hostname=client1 #必须与zabbix创建的host name相同
如图设置hostname
添加web前段php文件
# cd zabbix-2203/frontends/
# cp -rf php /home/httpd/zabbix #虚拟主机目录
# chown -R zabbix:zabbix zabbix
web前端安装配置
修改PHP相关参数
vim phpini
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
datetimezone = Asia/Shanghai
mbstringfunc_overload=2
PHP还必须支持一下模块,在php源码包直接编译安装。详细模块需要在安装是会提示。
bcmathso、gettextso
在客户端浏览器上面访问zabbix,开始WEB的前端配置,http://ZabbixIP/zabbix,按提示点击下一步
Step1:下一步。
Step2:如果全部OK的话才能进行下一步的安装,如果有错误请返回到server端检查相关的软件包是否安装。
Step3:需要输入mysql数据库帐号密码,如果数据库不在zabbix服务器上面,在Host里面添加数据库服务器的地址,并且要用grant命令给数据库授权。
Step4:输入服务器端 host name or host IP addres;
最后会自动写入配置文件:zabbixconfphp,配置完成后出现登陆界面,默认的用户名为:admin,密码为:zabbix。
三启动zabbix服务
在zabbix安装目录下面可以直接启动
#/usr/local/zabbix/sbin/zabbix_server start
tcp 0 0 0000:10050 0000: LISTEN 7140/zabbix_agentd
四设置开启自动启动
vim /etc/rcd/rclocal 最后添加下面两行
/usr/local/zabbix/sbin/zabbix_server start
/usr/local/zabbix/sbin/zabbix_agentd start
至此,zabbix server端的安装完毕,我们可以通过浏览器来访问。如图:
接下来会介绍关于客户端监控的使用,以及监控模版的新建,自定义监控服务等。
如何在IIS下部署PHP网站
首先你得有windows2003和IIS60(60(60以后就没戏了)。然后要装的东西是:php52,mysql50,phpmyadmin211。
这些东西一个个找太麻烦了。幸运的是,我们有wamp。
一旦你学会了如何安装wamp,那么就只剩下“配置”了。
下面涉及到的所有文件路径都以wamp为准,wamp中php的目录是wampphpWindows目录下,将php5isapidll复制到c:windowswindows马鞭”,然后打开浏览器测试一下。
首先你要修改phpini,找到参数extension_dir。假设wamp安装在驱动器D上,将其更改为
扩展名_目录
=
“丁:wampphpextphpwindows\系统32目
记录下来,不然没用在phpini中打开extension=php_mysqldll在浏览需要连接mysql的页面时,会报错。
“mysql”类型不存在。
我们遇到过这样一个实际问题:asp和aspnet的网站已经在54上运行了,iis抢占了80端口,apache就不能用了,那还要别人在吗?
Single,在wamp中找到httpdconf文件,把“80”这几个字全部替换成你想要的端口,重启apache。阿帕奇有四个地方。
需要修改80:
听
80,服务器名
本地主机:80,名称虚拟主机
:80,前两个是默认的,后两个只有在配置了virtualhost的情况下才会出现。</pre
评论
0
11
加载更多
phpstorm怎么搭建运行环境?
phpstorm搭建运行环境方法如下
1打开PHPstudy进入“其他选项菜单”-“环境端口检测”-端口列表,随后点击PHPstudy运行界面的重启,查看网络状态-TCP监听端口,查看Apache的端口,我的这里是9096,网上一般说Apache端口默认是80,没错,但经常被占用。
2随后,我们来到phpstrom中修改phpstoram的默认设置,tools-Deploment-Configuration,如果第一次设置会没有,点击弹窗左上角“+”新建就好。
3端口被占用就是把localhost改成localhost:端口/地址/
4点击Mapping,进入设置。
5完成后保存退出,在点击右上角的小角标。
6找到PHPwebapplicantion,进入。也是没有就点击“”的那个新建。
7没有的新建,有的改数据,默认是80,80端口被占用就改成,我们看过的被分配好的端口号。
阿里云服务器怎么搭建网站?
创建实例:购买完进入管理控制台,到云ESC创建一个新实例,操作系统可以随便选,官网推荐的是CentOS6364版,也可以在镜像市场,直接选一个配置好环境的镜像+应用。我这里选的是WindowsServer8,因为要远程连接服务器,我不是很熟悉这块的操作。
远程连接服务器:这里要根据本地系统和服务器系统选择连接方式,我是windows远程连接windows
本地运行mstsc->远程桌面连接->输入实例的IP->选项中可以把本地资源驱动器勾选上->连接
搭建环境:根据自己和项目需求,搭建服务器运行环境。我是在镜像市场购买的免费环境(windows+mysql+apache+php+一些服务器软件),所以略过这一步。
搭建网站:环境配置好后,将本地编写好网站,放在服务器软件网站目录下(Apache中htdocs)
测试网站:在本地浏览器地址栏输入服务器IP地址,确认实例和网站搭建成功
购买域名:可以在阿里云管理控制台中,点击域名,点击域名注册,写一个你要注册的域名。首先要看是否被注册了,然后根据自己需求购买后缀,可以考虑(com)国际通用域名。
域名解析:域名购买成功后,要对域名进行解析,在管理控制台,点击域名,点击域名解析,根据提示填写解析项内容。
网站备案:域名解析成功后,点击网址,发现还是不能进入网站,这个时候会提示要进行备案。注册阿里云备案系统账号,按要求提示上传材料。首先要阿里云备案审核,一个工作日,会打电话联系你。成功后提交给管局,5-20天之内,会打电话联系你。我这里比较幸运,4天就完成了两次备案工作。管局会给你发个短信,里面有备案号,账号,密码等等,保存这些信息,把备案号放置在网站底部。
完成:备案成功后,点击网址就可以进入自己的网站啦,记得平时要对实例快照备份。
如何部署pythonweb程序?
PythonWeb程序的部署方案
综合而言,高性能的Pythonweb站点部署方式首推nginx+uwsgi
apache+mod_wsgi是简单稳定但性能一般的方式
API服务器可以直接使用tornado或者gevent
mod_python
非常原始的cgi模式部署python已经没有什么好介绍了。对于不太追求性能的管理系统和网站来说,使用Apache部署是一个不错的选择。较早的时候,使用mode_python部署python的web应用十分流行,在Django096的时候官方文档甚至推荐这种方式。
它将Python解释器嵌入到Apacheserver,以提供一个访问Apacheserver内部的接口。mod_python在现在看来性能是不佳的,每一个http请求mod_python都会由一个进程初始化python解释器、载入代码、执行、然后销毁进程。
mod_wsgi
如果非要用Apache来部署python应用,mod_wsgi是一个更好的选择。WSGI全称是WebServerGatewayInterface,由PEP-333定义。基本上所有的pythonweb框架都实现了wsgi接口,用mod_wsgi能部署任何实现了wsgi的框架。实际上,不需要任何框架也可以用mod_wsgi部署python程序。使用mod_wsgi的daemon模式,python程序会常驻内存,不会有很大的初始化和销毁进程方面的开销,所以性能是好于mod_python的。综合来说,使用Apache部署pythonweb程序,推荐使用mod_wsgi的daemon模式。
Fastcgi
先说观点:不建议用fastcgi的方式部署Pythonweb。
前几年由于lighttpd风头正劲和豆瓣的成功案例,fastcgi是一种很流行的部署方式。fastcgi与具体语言无关,也与web服务器无关。是一种通用的部署方式。fastcgi是对于cgi的增强,CGI程序运行在独立的进程中,并对每个Web请求建立一个进程。面对大量请求,进程的大量建立和消亡使操作系统性能大大下降。
与为每个请求创建一个新的进程不同,FastCGI使用持续的进程来处理一连串的请求。这些进程由FastCGI服务器管理,而不是web服务器。当进来一个请求时,web服务器把环境变量和这个页面请求通过一个socket比如FastCGI进程与web服务器都位于本地)或者一个TCPconnection(FastCGI进程在远端的serverfarm)传递给FastCGI进程。
主流的web服务器,Apache,lighttpd,nginx都支持fastcgi,在几年前,lighttpd的mod_fcgi模块性能强劲,lighttpd+fastcgi十分流行。无论是python,ruby还是php,都有大量的站点使用这种方式部署。由于nginx的崛起,现在很少有人使用lighttpd了。
fastcgi并不是专门为python设计,并不是所有的python框架天然的支持fastcgi,通常需要flup这样的容器来配适。flup由python编写,和专门的c实现的wsgi容器比起来性能显得相当不堪。fastcgi的稳定性对于新兴的wsgi容器来说也有差距。无论从哪个方面来看,部署pythonweb程序,fastcgi都已经是过去式。
uwsgi
前几年nginx还未内置uwsgi模块的时候,部署uwsgi还是一件挺麻烦的事情。随着能够在nginx中直接使用uwsgi模块,uwsgi已经是最可靠,最方便的高性能pythonweb程序的部署方式了。
在1U的四核XEON服务器上,一个简单的wsgihandler甚至能用AB压到8000以上的qps,这已经是完爆tornado,接近gevent的性能了。同时,uwsgi的稳定性极好。之前我们有个每天500w-1000w动态请求的站点使用uwsgi部署非常稳定,在一个渣HP1U服务器上,基本不用管它。
上面提到的部署方式都是相对于web网站的方式,在移动互联网的时代,我们需要的是高性能的API服务,上面这些都是过时的东西。
tornado
tornado号称高性能,如果拿他写网站,其实一般般,只不过跟uwsgi加一些简单框架差不多而已。它真正的作用,是用来写API服务器和长连接的服务器。
由于tornado能够直接处理http请求,很多人直接拿他来裸奔直接提供服务。这种方式是不可取的,单线程的tornado只能利用cpu的一个核心,并且一旦阻塞直接就废了。通常情况下,由supervisor启动多个tornado进程,通过nginx进行反向代理负载均衡。nginx114以后的版本反向代理支持长连接,配合tornado的comet效果很好。
tornado还有一些比较奇葩的用法,比如用来做wsgi容器之类的。
gevent
gevent是一个神器,能做的事情很多。在web方面,处理http请求,用起来其实跟tornado差不多,但是要简陋很多,cookie之类的都没有。用gevent写的一些API服务,部署方式还是类似tornado,用supervisor管理多个守护进程,通过nginx做负载均衡。同样的它的奇葩用法也和tornado一样,可以当wsgi容器用。
php框架搭建方法?
php框架搭建步骤:
1项目初始化
首先我们在自己的web目录下创建我们的项目目录,我暂且把项目命名为hellovod,因此我的电脑目录就是:D:laragonwwwhellovod。在该目录下创建composerjson文件。
2添加入口文件
初始化完毕后,我们来配置入口文件。在hellovod目录下新建一个public文件夹,并在该文件夹下创建入口文件indexphp。
3添加路由功能
接下来,在hellovod目录下创建一个app文件夹,在app文件夹下新建routesphp。
4添加控制器模块
在hellovod/app目录下,创建Controllers文件夹,用来放置控制器文件。在该文件夹下创建控制器文件:IndexControllerphp。
5添加模型
当然,框架要能与数据库打交道,否则就没有灵魂。我们建立一个名为hellovod的数据库,再创建一个用户表:hw_user。
0条评论