服务端上的配置:
[root@ns ~]# vi /etc/exports
/home 192.168.0.0/24(rw,sync,no_root_squash)
[root@ns ~]# /etc/rc.d/init.d/portmap start
Starting portmap: [ OK ]
[root@ns ~]# /etc/rc.d/init.d/nfs start
Starting nfs services: [ OK ]
Starting nfs quotas: [ OK ]
Starting nfs daemon: [ OK ]
Starting nfs mountd: [ OK ]
[root@ns ~]# /etc/rc.d/init.d/nfslock start
Starting NFS statd: [ OK ]
[root@ns ~]# chkconfig nfs on
[root@ns ~]# chkconfig nfslock on
[root@ns ~]# chkconfig portmap on
客户端的配置:
[root@www ~]# mount -t 192.168.0.2:/home /home
[root@www ~]# vi /etc/fstab
*//追加以下到最后一行//*
192.168.0.2:/home /home nfs defaults 1 2
[root@ns ~]# vi /etc/exports
/home 192.168.0.0/24(rw,sync,no_root_squash)
引用
/home ⇒ 共享出的目录
192.168.0.0/24 ⇒ 允许那个网段的访问
rw ⇒ 权限(读写)
sync ⇒ 内存硬盘同步写入
no_root_squash ⇒ root身份mount该NFS服务器,则身份就是root身份。
192.168.0.0/24 ⇒ 允许那个网段的访问
rw ⇒ 权限(读写)
sync ⇒ 内存硬盘同步写入
no_root_squash ⇒ root身份mount该NFS服务器,则身份就是root身份。
[root@ns ~]# /etc/rc.d/init.d/portmap start
Starting portmap: [ OK ]
[root@ns ~]# /etc/rc.d/init.d/nfs start
Starting nfs services: [ OK ]
Starting nfs quotas: [ OK ]
Starting nfs daemon: [ OK ]
Starting nfs mountd: [ OK ]
[root@ns ~]# /etc/rc.d/init.d/nfslock start
Starting NFS statd: [ OK ]
[root@ns ~]# chkconfig nfs on
[root@ns ~]# chkconfig nfslock on
[root@ns ~]# chkconfig portmap on
客户端的配置:
[root@www ~]# mount -t 192.168.0.2:/home /home
[root@www ~]# vi /etc/fstab
*//追加以下到最后一行//*
192.168.0.2:/home /home nfs defaults 1 2
linux 中.net 平台的实现
[
2010/02/25 15:43 | by 张明辉 ]
2010/02/25 15:43 | by 张明辉 ]
因为之前工作中接触过.net 平台的运用,而最近面试中又遇到了此网站架构,所以又把之前了解的东西翻出来,可能以后要使用。
这里最重要的介绍是Jexus
Jexus是一款基于dotNET环境,直接支持ASP.NET的WEB服务器系统.是Linux平台架设ASP.NET网站的重要选择甚至是必然选择。
Jexus for linux 有如下特点:
1、Jexus的最大特色是基于Mono(Mono2.6已经开始支持.NET 4.0,速度啊!!)平台,直接支持ASP.NET网站。这种高度集成,有效地保证了ASP.NET的性能优势。
2、Jexus内核含有安全监控机制,大多数恶意访问在进入实际网站前就会被Jexus直接禁止,这是Jexus有别于其它WEB服务器的又一大 特色。正因为这样,Jexus特别适合那些对安全要求较高的企业网站或政府网站使用。
3、Jexus WEB服务器采用“多进程+多线程”模式设计,能有效利用服务器资源,对网站的数量和规模不加任何限制。
4、支持URL重写。
5、安装和配置非常简单.
软件的最新版本是Jexus web server v3.3,下载地址:http://linux.j66.net/down/jexus-3.3.tar.gz
第二个介绍的就是Mono
mono项目是由Novell发起的开源项目,旨在创建微软.NET开发框架的开源版本。Mono项目网站为www.mono-project.com,该项目提供在Linux、Solaris*、Mac* OS X*、Windows和Unix上开发和运行.NET客户端及服务器应用所必需的所有软件。Mono拥有一个活跃而充满激情的社区,立志成为Linux应用开发者的首选平台。
mono的安装包:(glib(系统自带)、libgdiplus、mono mod_mono 的源代码包【http://ftp.novell.com/pub/mono/sources-stable/】
安装MONO.建议选择SUSE平台安装,因为他的东家就是novell公司的.
MONO支持的模块非常多,如下:
以下是某证劵公司使用Jexus/3.3的信息.
这里最重要的介绍是Jexus
Jexus是一款基于dotNET环境,直接支持ASP.NET的WEB服务器系统.是Linux平台架设ASP.NET网站的重要选择甚至是必然选择。
Jexus for linux 有如下特点:
1、Jexus的最大特色是基于Mono(Mono2.6已经开始支持.NET 4.0,速度啊!!)平台,直接支持ASP.NET网站。这种高度集成,有效地保证了ASP.NET的性能优势。
2、Jexus内核含有安全监控机制,大多数恶意访问在进入实际网站前就会被Jexus直接禁止,这是Jexus有别于其它WEB服务器的又一大 特色。正因为这样,Jexus特别适合那些对安全要求较高的企业网站或政府网站使用。
3、Jexus WEB服务器采用“多进程+多线程”模式设计,能有效利用服务器资源,对网站的数量和规模不加任何限制。
4、支持URL重写。
5、安装和配置非常简单.
软件的最新版本是Jexus web server v3.3,下载地址:http://linux.j66.net/down/jexus-3.3.tar.gz
第二个介绍的就是Mono
mono项目是由Novell发起的开源项目,旨在创建微软.NET开发框架的开源版本。Mono项目网站为www.mono-project.com,该项目提供在Linux、Solaris*、Mac* OS X*、Windows和Unix上开发和运行.NET客户端及服务器应用所必需的所有软件。Mono拥有一个活跃而充满激情的社区,立志成为Linux应用开发者的首选平台。
mono的安装包:(glib(系统自带)、libgdiplus、mono mod_mono 的源代码包【http://ftp.novell.com/pub/mono/sources-stable/】
安装MONO.建议选择SUSE平台安装,因为他的东家就是novell公司的.
MONO支持的模块非常多,如下:
引用
AddType application/x-asp-net .aspx
AddType application/x-asp-net .asmx
AddType application/x-asp-net .ashx
AddType application/x-asp-net .asax
AddType application/x-asp-net .ascx
AddType application/x-asp-net .soap
AddType application/x-asp-net .rem
AddType application/x-asp-net .axd
AddType application/x-asp-net .cs
AddType application/x-asp-net .config
AddType application/x-asp-net .Config
AddType application/x-asp-net .dll
DirectoryIndex index.aspx
DirectoryIndex Default.aspx
DirectoryIndex default.aspx
AddType application/x-asp-net .asmx
AddType application/x-asp-net .ashx
AddType application/x-asp-net .asax
AddType application/x-asp-net .ascx
AddType application/x-asp-net .soap
AddType application/x-asp-net .rem
AddType application/x-asp-net .axd
AddType application/x-asp-net .cs
AddType application/x-asp-net .config
AddType application/x-asp-net .Config
AddType application/x-asp-net .dll
DirectoryIndex index.aspx
DirectoryIndex Default.aspx
DirectoryIndex default.aspx
以下是某证劵公司使用Jexus/3.3的信息.
引用
Date: Thu, 25 Feb 2010 07:38:54 GMT
Server: Jexus/3.3 Linux
X-AspNet-Version: 2.0.50727
Content-Length: 123815
Cache-Control: private
Content-Type: text/html; charset=utf-8
Set-Cookie: ASP.NET_SessionId=FC728B5BC09DB8A494A14A6F; path=/
Connection: close
Server: Jexus/3.3 Linux
X-AspNet-Version: 2.0.50727
Content-Length: 123815
Cache-Control: private
Content-Type: text/html; charset=utf-8
Set-Cookie: ASP.NET_SessionId=FC728B5BC09DB8A494A14A6F; path=/
Connection: close
mysql 配置文件参考
[
2010/02/18 21:31 | by 张明辉 ]
2010/02/18 21:31 | by 张明辉 ]
MyISAM是Mysql 默认的数据库引擎,他的强项是读多写少的操作,缺点是不支持事物日志,一旦出现大量的读写并发,同InnoDB相比,MyISAM的效率就会直线下降
但是他如果优化的好的话,也是很强悍的。
以下是几个专用的Mysql数据库在不同硬件环境下的配置.仅作参考
32 bit system
2GB of memory
Dedicated DB Box
All MyISAM
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /mysql/
datadir = /data01/data
tmpdir = /tmp
thread_cache_size = 128
table_cache = 512
key_buffer = 768M
sort_buffer_size = 256K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
max_allowed_packet = 1M
tmp_table_size=16M
max_heap_table_size=16M
query_cache_size=64M
query_cache_type=1
log_output=FILE
slow_query_log_file=/mysql/slow1.log
slow_query_log=1
long_query_time=3
log-error=/mysql/error.log
myisam_recover = force,backup
myisam_sort_buffer_size=128M
skip-innodb
32 bit system
4GB of memory
Dedicated DB Box
All MyISAM
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /mysql/
datadir = /data01/data
tmpdir = /tmp
thread_cache_size = 256
table_cache = 1024
key_buffer = 1500M
sort_buffer_size = 256K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
max_allowed_packet = 1M
tmp_table_size=32M
max_heap_table_size=32M
query_cache_size=128M
query_cache_type=1
log_output=FILE
slow_query_log_file=/mysql/slow1.log
slow_query_log=1
long_query_time=3
log-error=/mysql/error.log
myisam_recover = force,backup
myisam_sort_buffer_size=256M
skip-innodb
64 bit system
8GB+ of memory
Dedicated DB Box
All MyISAM
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /mysql/
datadir = /data01/data
tmpdir = /tmp
thread_cache_size = 256
table_cache = 1024
key_buffer = 4000M
sort_buffer_size = 256K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
max_allowed_packet = 1M
tmp_table_size=64M
max_heap_table_size=64M
query_cache_size=128M
query_cache_type=1
log_output=FILE
slow_query_log_file=/mysql/slow1.log
slow_query_log=1
long_query_time=3
log-error=/mysql/error.log
myisam_recover = force,backup
myisam_sort_buffer_size=512M
skip-innodb
但是他如果优化的好的话,也是很强悍的。

以下是几个专用的Mysql数据库在不同硬件环境下的配置.仅作参考
32 bit system
2GB of memory
Dedicated DB Box
All MyISAM
引用
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /mysql/
datadir = /data01/data
tmpdir = /tmp
thread_cache_size = 128
table_cache = 512
key_buffer = 768M
sort_buffer_size = 256K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
max_allowed_packet = 1M
tmp_table_size=16M
max_heap_table_size=16M
query_cache_size=64M
query_cache_type=1
log_output=FILE
slow_query_log_file=/mysql/slow1.log
slow_query_log=1
long_query_time=3
log-error=/mysql/error.log
myisam_recover = force,backup
myisam_sort_buffer_size=128M
skip-innodb
32 bit system
4GB of memory
Dedicated DB Box
All MyISAM
引用
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /mysql/
datadir = /data01/data
tmpdir = /tmp
thread_cache_size = 256
table_cache = 1024
key_buffer = 1500M
sort_buffer_size = 256K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
max_allowed_packet = 1M
tmp_table_size=32M
max_heap_table_size=32M
query_cache_size=128M
query_cache_type=1
log_output=FILE
slow_query_log_file=/mysql/slow1.log
slow_query_log=1
long_query_time=3
log-error=/mysql/error.log
myisam_recover = force,backup
myisam_sort_buffer_size=256M
skip-innodb
64 bit system
8GB+ of memory
Dedicated DB Box
All MyISAM
引用
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /mysql/
datadir = /data01/data
tmpdir = /tmp
thread_cache_size = 256
table_cache = 1024
key_buffer = 4000M
sort_buffer_size = 256K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
max_allowed_packet = 1M
tmp_table_size=64M
max_heap_table_size=64M
query_cache_size=128M
query_cache_type=1
log_output=FILE
slow_query_log_file=/mysql/slow1.log
slow_query_log=1
long_query_time=3
log-error=/mysql/error.log
myisam_recover = force,backup
myisam_sort_buffer_size=512M
skip-innodb
Apache Rewrite 规则介绍
[
2010/02/11 18:44 | by 张明辉 ]
2010/02/11 18:44 | by 张明辉 ]
Apache Rewrite 介绍
一:首先要想使用Apache的Rewrite必须先要安装(默认已经安装),两种方式
二:Apache的Rewrite作用范围
三:常见Rewrite写法
PS1:经常使用的几个Apacherewrite 标签
PS2:经常调试Rewrite规则最好打开rewrite log.如下:
...............
........
RewriteLog /root/rewrite.log
RewriteLogLevel 3##(0-9)
.....
待续..........................
一:首先要想使用Apache的Rewrite必须先要安装(默认已经安装),两种方式
引用
1:编译apache的时候就直接安装rewrite模块
2:通过DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块
2:通过DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块
二:Apache的Rewrite作用范围
引用
1:全局方式(httpd.conf)
在全局目录文件里面首先需要使用RewriteEngine on来打开rewrite功能.
如果作用域虚拟主机,则必须在每个virtualhost里用RewriteEngine on来打开rewrite功能.
2:目录级的(.htaccess)
在目录级别里,首先需要打开此目录的FollowSymLinks属性且在(.htaccess)里要声明RewriteEngine on.
在全局目录文件里面首先需要使用RewriteEngine on来打开rewrite功能.
如果作用域虚拟主机,则必须在每个virtualhost里用RewriteEngine on来打开rewrite功能.
2:目录级的(.htaccess)
在目录级别里,首先需要打开此目录的FollowSymLinks属性且在(.htaccess)里要声明RewriteEngine on.
三:常见Rewrite写法
引用
1:把client请求的主机前缀不是www.test.com和192.168.2.16跳转到主机前缀为http://www.test.com
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html
ServerName test.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
RewriteEngine on #打开rewirte功能
RewriteCond %{HTTP_HOST} !^www.test.com [NC] #声明Client请求的主机中前缀不是www.test.com,其中 [NC] 的意思是忽略大小写
RewriteCond %{HTTP_HOST} !^192.168.1.16 [NC] #声明Client请求的主机中前缀不是192.168.1.16,其中 [NC] 的意思是忽略大小写
RewriteRule ^(.*) http://www.test.com/ [L] #含义是如果Client请求的主机中的前缀符合上述条件,
则直接进行跳转到http://www.test.com/,[L]意味着立即停止重写操作,并不再应用其他重写规则。
这里的.*是指匹配所有URL中不包含换行字符,()括号的功能是把所有的字符做一个标记,以便于后面的应用.就是引用前面里的(.*)字符.
2:CDN域名的重定向,当用户访问test.com 时候,将请求发送到www.test.com(他是我们的CND服务器域名,这样做的原因就是更快的完成用户访问.)
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html
ServerName test.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
RewriteEngine on
RewriteCond %{HTTP_HOST} ^test.com [NC]
RewriteRule ^(.*) http://www.test.com/ [L]
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html
ServerName test.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
RewriteEngine on #打开rewirte功能
RewriteCond %{HTTP_HOST} !^www.test.com [NC] #声明Client请求的主机中前缀不是www.test.com,其中 [NC] 的意思是忽略大小写
RewriteCond %{HTTP_HOST} !^192.168.1.16 [NC] #声明Client请求的主机中前缀不是192.168.1.16,其中 [NC] 的意思是忽略大小写
RewriteRule ^(.*) http://www.test.com/ [L] #含义是如果Client请求的主机中的前缀符合上述条件,
则直接进行跳转到http://www.test.com/,[L]意味着立即停止重写操作,并不再应用其他重写规则。
这里的.*是指匹配所有URL中不包含换行字符,()括号的功能是把所有的字符做一个标记,以便于后面的应用.就是引用前面里的(.*)字符.
2:CDN域名的重定向,当用户访问test.com 时候,将请求发送到www.test.com(他是我们的CND服务器域名,这样做的原因就是更快的完成用户访问.)
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html
ServerName test.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
RewriteEngine on
RewriteCond %{HTTP_HOST} ^test.com [NC]
RewriteRule ^(.*) http://www.test.com/ [L]
PS1:经常使用的几个Apacherewrite 标签
引用
P(force proxy) 强制使用代理转发。
L(last rule) 表明当前规则是最后一条规则,停止分析以后规则的重写。
N(next round) 重新从第一条规则开始运行重写过程。
C(chained with next rule) 把已得到的结果传递下一条规则。
L(last rule) 表明当前规则是最后一条规则,停止分析以后规则的重写。
N(next round) 重新从第一条规则开始运行重写过程。
C(chained with next rule) 把已得到的结果传递下一条规则。
PS2:经常调试Rewrite规则最好打开rewrite log.如下:
引用
...............
........
RewriteLog /root/rewrite.log
RewriteLogLevel 3##(0-9)
.....
待续..........................
使用Cacti监控Nginx状态
[
2010/02/09 09:53 | by 张明辉 ]
2010/02/09 09:53 | by 张明辉 ]
Cacti是一款不错的开源网络设备,系统监控软件。我们生产中就是使用Cacti中监控系统状态。今天介绍使用Cacti如何监控Nginx状态
Nginx中有一个很好的模块【http_stub_status_module】完成Nginx运行的状态。
但是它只能通过web页面查看状态,如果需要监控的话,就必须写脚本完成。以下就是用Perl脚本完成Nginx的监控
1:给系统安装LWP::UserAgent模块
RedHat下可以通过以下命令:
2:下载监控脚本
下载文件 (已下载 142 次)
3:添加监控模板
解压压缩包
cacti_graph_template_nginx_clients_stat.xml
cacti_graph_template_nginx_sockets_stat.xml
get_nginx_clients_status.pl
get_nginx_socket_status.pl
上传.pl 脚本到cacti 目录下scripts 并设置可执行权限跟755读写权限
然后打开Cacti的界面,点击左边导航条上的Import Templates。
如下图:

Nginx中有一个很好的模块【http_stub_status_module】完成Nginx运行的状态。
但是它只能通过web页面查看状态,如果需要监控的话,就必须写脚本完成。以下就是用Perl脚本完成Nginx的监控
1:给系统安装LWP::UserAgent模块
RedHat下可以通过以下命令:
引用
yum -y install perl-libwww-perl
或者
cpan -i LWP::UserAgent
或者
cpan -i LWP::UserAgent
2:下载监控脚本
下载文件 (已下载 142 次)3:添加监控模板
解压压缩包
cacti_graph_template_nginx_clients_stat.xml
cacti_graph_template_nginx_sockets_stat.xml
get_nginx_clients_status.pl
get_nginx_socket_status.pl
上传.pl 脚本到cacti 目录下scripts 并设置可执行权限跟755读写权限
然后打开Cacti的界面,点击左边导航条上的Import Templates。
如下图:





