Solaris 10网络服务

Solaris 10网络服务


作者:田逸(
sery@163.com) <开放系统世界> 2006年10期

多年前,sun 微系统公司提出“网络就是计算机”这一著名的口号,从而使得网络的概念逐渐为世人所理解并加速了信息网络化的步伐。今天,信息网络已经无处不在,用性能卓越的solaris 10 来提供各种各样的网络服务,是顺理成章的事情。由于solaris 10 开源的进一步推进,越来越多的软件提供商、软件开发者开始对solaris提供支持,这就意味着在solaris 10下可使用的软件越来越丰富。

solaris 10作为主流的unix操作系统,支持几乎所有流行的网络服务。我们在安装solaris 10的时候,就会把诸如apache、nfs等等这样的网络服务默认安装到服务器中。但是在实际的应用中,一般不采用系统自带的那些网络服务(通过定制安装的方式,选择所需的软件包而取消系统默认的某些包如apache等),在需要的时候下载相应的源码,然后手动安装。与自动安装相比而言,手动安装更灵活一些,也更能满足实际需求。由于不是每个软件都有solaris包提供,也为了顾及其他的unix/linux平台,因此笔者建议尽可能使用二进制源码包来安装。

设置和修改网络参数

相对于linux而言,solaris 的网络设置或修改要麻烦一些。请照下面的步骤来设置或修改网络参数:

1、 查看接口的名字: # ifc ╟a

-bash-3.00# ifc -a

lo0: flags=2001000849<up,loopback,running,multicast,ipv4,virtual> mtu 8232 index 1

inet 127.0.0.1 netmask ff000000

iprb0: flags=1000843<up,broadcast,running,multicast,ipv4> mtu 1500 index 2

inet 192.168.2.16 netmask ffffff00 broadcast 192.168.2.255

ether 0:e:c:9b:cc:80

上面的输出可以看出网络接口的名称为 iprb0.

2、 打开文件/etc/hostname.iprb0,查看对应主机名。本例中只有一个名字sery.

# cat /etc/hostname.iprb0

sery

3、 修改文件 /etc/hosts , 把ip地址与主机名影射起来。

  

4、 修改文件 /etc/netmasks,其形式如下:

# the netmasks file associates internet protocol (ip) address

# masks with ip network numbers.

#

# network-number netmask

#

# the term network-number refers to a number obtained from the internet netwo

rk

# information center.

#

# both the network-number and the netmasks are specified in

# “decimal dot” notati e.g:

#

# 128.32.0.0 255.255.255.0

#

192.168.2.0 255.255.255.0  //这行是手动添加的

  

5、 修改文件/etc/defaultrouter,设置默认网关。只能设置一个默认网关,否则发生混乱。我的例子如下:

-bash-3.00# cat /etc/defaultrouter

192.168.2.254

  

6、 设置dns客户端。由于/etc目录没有文件resolv.c 61.135.154.50”这样的文本行,可以添加3个dns服务器,多了无用。

7、 修改文件 /etc/nsswitch.c file ”改成“hosts: dns file ”。注意中间有空格。这一步必不可少,否则 dns将不起作用。

8、 验证一下网络配置。# ping www.163.com看是否正常。

一些准备工作

为了后面的操作更容易和方便,还需要安装一些软件(如wget)以及对环境变量的路径做些更改。

1、 安装软件包wget,此软件用来从远程网站下载文件到用户的当前目录;通过比较,wget的下载比用windows 的下载工具要快很多。由于系统本身没有默认安装wget,这里需要我们手动安装它。到网站http://www.sunfreeware.com/indexintel10.html 下载包wget-1.10.2-sol10-x86-local.gz(用windows工具下载),然后通过ssh客户端工具 ssh secure file transfer client把文件传输到solaris 服务器;远程登陆到 solaris10 ,在包wget-1.10.2-sol10-x86-local.gz所在的目录执行命令 # gzip ╟d wget-1.10.2-sol10-x86-local.gz , 安装包 # pkgadd ╟d wget-1.10.2-sol10-x86-local。

2、 设置环境变量之路径。solaris 10 默认的环境变量不太符合实际的需求,使用者有必要对它进行修改;常见的情况就是设置path(路径)。实验一下:执行命令 # make 系统提示 “make command not found”,但实际上命令是存在的,不信你用 # find / -name make搜。请按照笔者的样式设置path,

-bash-3.00# echo $path

/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/ccs/bin:/usr/openwin/bin:/usr/sfw/bin

修改文件/etc/profile,把上面的输出行追加到文件,保存后运行 # source /etc/profile 使环境变量的修改生效。这时我们在运行刚才的命令 # make 输出如下内容“make: fatal error: no arguments to build”,这没关系,只是说明命令后面没有带参数而已,同时也说明路径的设置是正确无误的。

现在一切都准备就绪,接着我们就来向大家介绍几个solaris 10主要的网络服务。

web 服务apache

到目前为止,web服务仍然是internet上数量最大的网路服务。有为数众多的web服务器软件,但出于领导地位的当属开源软件apache,它占据了web服务器70%以上的份额。

1、 取得apache的安装包。 # wget http://mirror.vmmatrix.net/apache/httpd/httpd-2.2.3.tar.gz,笔者一般习惯在/root目录执行命令wget,也意味把软件包下载到目录/root。solaris 10系统本来没有目录/root,这个目录是手工创建的,通过修改文件/etc/passwd把root用户的主目录设置为/root(默认是根目录 / ),然后修改/root目录权限为 700。

2、 解压解包。在下载文件的目录(这里是/root)运行 # gzip ╟d httpd-2.2.3.tar.gz,命令完成后再执行 # tar xvf httpd-2.2.3.tar。

3、 配置、编译、安装apache.执行命令 # cd httpd-2.2.3 切换到解压生成的目录httpd-2.2.3,然后查看一下目录,看是否有关于安装方面的帮助文件如install或readme,有幸的是,在目录下有这两个文本文件,打开install文件可以得到软件包的安装方法。

从这个install文件可以得到apache在unix中的快速安装启动等方法。接着我们就在当前目录执行命令 # ./c ╟prefix=/usr/local/apache2 ╟enable-so 。说明:c # make ; make install 等一段时间就可正常完成apache 的安装。

4、 修改配置文件/usr/local/apache2/conf/httpd.c

5、 修改完配置文件以后,需要用命令apachectl检查是否有语法错误。执行命令# /usr/local/apache2/bin/apachect ╟t ,没有语法错误方可启动apache服务。

6、 启动和停止apache服务。启动apache服务真的是一项有趣的事情,运行命令 # /usr/local/apache2/bin/apachect start启动apache .怎么知道 apache按照我们的意愿启动起来呢?需要验证一下。方法一:查看apache进程,命令是 # ps ╟aef |grep httpd。方法二:在另外一个windows机器的浏览器输入solaris服务器的ip地址,能正常显示页面内容就表明成功了。经验表明,apache不能正常启动的最主要的原因就是配置文件修改得不正确。一个建议就是在修改配置文件前先给它在同一个目录(这里是c # /usr/local/apache2/bin/apachectl stop即可。

mysql数据库服务

mysql数据库是一个在linux下很受欢迎的数据库服务器,对于solaris 10这个操作环境,mysql也是支持的-mysql有针对solaris平台的安装包,在本案中,我们采用mysql的二进制源码来安装。

1、 下载源码安装包。# wget http://mysql.easynet.be/downloads//mysql-4.1/mysql-4.1.21.tar.gz

2、 解包解压mysql。# gzip ╟d mysql-4.1.21.tar.gz , # tar xvf mysql-4.1.21.tar。

3、 切换目录,执行配置操作。# cd mysql 4.1.21 , # 。/c ╟prefix=/usr/local/mysql。

4、 编译安装. # make ;make install。

5、 添加mysql用户及组。# groupadd mysql ,# useradd ╟g mysql mysql。

6、 更改目录属主。切换到目录 /usr/local/mysql ,运行命令 # chown ╟r mysql:mysql lib。

7、 初始化数据库。# /usr/local/mysql/bin/mysql_install_db ╟user=mysql。下面是初始化的截图:

8、 启动mysql服务. # /usr/local/mysql/bin/mysqld_safe ╟user=mysql &。

9、 验证mysql服务是否正常启动。先查看进程 # ps ╟aef | grep mysql ,发现mysql进程确实在运行后,再用mysql的客户端程序连接测试 # /usr/local/mysql/bin/mysql ╟u root 。因为初始的mysql的用户root没有设置密码,直接就可以连接到mysql服务器.只要mysql的提示符 “mysql > ”出现了,就可以认为mysql服务是正常的。

10、 其他的操作。与linux下的操作完全相同,不再多叙。

11、 关闭mysql服务。 # /usr/local/mysql/bin/mysqladmin shutdown。

提示:mysql的某些版本如mysql-standard-5.0.18-linux-i686-glibc23.tar.gz不需要配置、编译、安装这些过程,解包解压后直接初始化数据库。

nfs(网络文件系统)

前面的两个网络服务都是第三方提供的开源软件,但nfs(network file system)却是sun公司自家东西。由于nfs已经被默认的安装到solaris 10,因此不需要手动安装它。笔者曾尝试安装二进制源码的nfs包,但花费了很多精力却不太如愿。

1、共享文件系统。语法基本格式 share ╟f nfs ╟o <用户权限> <共享的目录>。下面是一个共享目录 /export/home/sery的例子:

# share ╟f nfs rw=192.168.10.0/24 /export/home/sery //把目录/export/home/sery开放给网段 192.168.10.0 共享,该网段的用户对共享目录具有读写权限。

2、启用nfs服务。默认情况下,solaris 10 的nfs服务是启动的,使用命令 # svcs ╟a | grep nfs来查看其状态是否在线( # svcadm enable svc:/network/nfs/server:default,命令执行完后再查一下看nfs是否

3、在客户端挂接共享目录.可以在solaris 环境挂接也可以在linux下挂接,不管在那种情况下挂接,都得先启用nfs客户端程序,然后再用mount命令来挂接。solaris nfs客户端有两个守护进程–/usr/lib/nfs/statd、/usr/lib/nfs/lockd,而linux则需启用portmap服务(# service portmap start),接下来我们来挂接第一步给出的共享:

# mount ╟f nfs 192.168.10.20:/export/home/sery /mnt/nfs //把远程服务器192.168.10.20的目录/export/home/sery挂接到本机目录/mnt/nfs上

在客户端执行挂接操作时,应使用root帐号来进行,但这个root对于远程nfs服务器的共享目录而言,它仅仅是nfs服务器的低权限帐号(nobody:x:60001:60001:nfs an access user:/:),因此还得在 nfs服务器端给id为60001的帐号读写权限才可以在客户端读写这个挂接目录,这个是很容易被初学者忽略的地方,也是为什么不能正确执行mount挂接的直接原因,请记住:系统权限一定大于应用程序的权限。

在设置共享目录的那步,如果solaris 10重新启动以后,配置就不再有效了,为了让配置一直有效,需要把它写到文件里。solaris10的文件路径是 /etc/dfs/dfstab(linux系统是 /etc/export),把需要共享的命令行添加到文件中即可。

2006-9-4

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111134.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux内核的整体架构简介

    Linux内核的整体架构简介1.前言本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统。之后,会介绍Linux内核源文件的目录结构,并和各个软件子系统对应。注:本文和其它的“Linux内核分析”文章都基于如下约定:  a)内核版本为Linux3.10.29(该版本是一个longterm的版本,会被Linux社区持续维

    2022年7月23日
  • 缺陷报告的案例_设计缺陷案例

    缺陷报告的案例_设计缺陷案例

    2022年9月13日
  • 简易聊天系统-聊天服务

    聊天负责私人聊天,群组聊天。私人聊天接受信息后保存至数据库再转发给目标用户。群组聊天当前没有离线消息保存,也就是用户登录后无法知道多少消息未读,而是直接拉取指定数量群聊天。当有成员发送后会将聊天信息存储数据库(没有缓存进redis,因为在线用户会直接发送,目前没有这个优化必要),从redis中检索所有群组在线用户并通过消息队列发送至对应网关。大致代码如下://处理群消息funcDealGroupMsg(delivery*amqp.Delivery,transfer1*transfer)

    2022年4月4日
  • 交通信号灯控制器C语言代码,交通信号灯控制器代码及说明.doc

    交通信号灯控制器C语言代码,交通信号灯控制器代码及说明.docPAGEPAGE3课程设计报告课程名称:FPGA现代数字系统设计设计名称:交通信号灯控制器姓名:***学号:2010000379专业:通信指导教师:***起止日期:2010.12.25-2011.1.9课程设计任务书设计名称:设计要求:(1)设计一个交通信号灯控制器…

    2022年9月24日
  • 行列式的几何意义,计算公式_n阶行列式几何意义

    行列式的几何意义,计算公式_n阶行列式几何意义近期回顾了下行列式的计算方法,以及其几何意义,本文是作者的一点浅薄理解。欢迎朋友们一起交流。线性代数系列文章见专栏,下面是往期内容:为什么要学线性代数(点击蓝色字体进入查看)正题:每一个线性变换都对应着一个变换矩阵,被变换后的空间,相对之前来说也发生了一定的形变,而行列式的意义则是线性变换前后,空间形变的倍数。以二维空间为例,旋转变换就是一种线性变换(不了解旋转变换的请看上条推送),其对应的矩阵叫旋转矩阵:该变换作用在二维空间的任一个向量,相当于将该向量逆时针旋转θ角度,于是.

    2022年10月26日
  • 【C++】0314算法阿里笔试题「建议收藏」

    【C++】0314算法阿里笔试题「建议收藏」一、题目二、自己的dfs的题解#include<bits/stdc++.h>usingnamespacestd;intres3=INT_MAX;inttransfet(vector<string>&tmp){intsum=0;for(auto&t:tmp){sum+=stoi(t);}returnsum;}voiddfs(stringstr,vector&l

    2022年9月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号