存档

‘WEB服务器’ 分类的存档

wordpress 实现伪静态
wordpress apache rewrite .htaccess
模认是   :http://blog.abc.com/?p=48
达到效果:http://blog.abc.com/post/48.html
固定链接设置
http://blog.abc.com/wp-admin/options-permalink.php
WordPress 允许您更改默认的链接形式,以此提高 URLs 的可读性和对搜索引擎的友好程度
URL采用html伪静态而非目录式结构
选择--自定义结构--输入如下:
/post/%post_id%.html
这样保存后默认生成一个.htaccess文件[注意给这个文件可写权限,否则无法生成规则进去,当然还要注意apache支持.htaccess]
不支持的话通过apache的httpd.conf中加rewrite规则也可以实现,见文章最后

八 15th, 2010 | Filed under WEB服务器, 开源技术

ServerAlias:服务器别名,在Apache中可以用于设置虚拟主机接收到个域名,也可以用于接收泛解析的域名。具体的设置方法如下:
一、用于设置虚拟主机接收多个域名
一个虚拟主机常常会接收多个域名解析,比如:一个虚拟主机要同时介绍yoododo.com, 99zn.com两个域名,或者是两个二级域名,如:www.yoododo.com, www1.yoododo.com,对于这种情况,可以在用ServerAlias轻松做到,打开apache的设置文件:httpd.conf,在该主机的设置代码中:

ServerName “yoododo.com” #默认域名;
ServerAlias 99zn.com www1.yoododo.com #不同域名用空格隔开;
DocumentRoot “D:\wwwroot\yoododo.com”

Options Indexes FollowSymLinks
AllowOverride all

保存httpd.conf文件,重启apche即可生效。

八 14th, 2010 | Filed under WEB服务器

以数据库后台驱动的动态内容的网站,经常会遇到这些的问题:
当在浏览器的地址栏输入一个无效的参数时,会出现数据库的错误提示,这是一个安全的隐患
搜索引擎无法收录你的所有网页
网页的链接地址是一系列的参数,对浏览用户和搜索引擎都不易理解
这些问题都可以通过Apache服务器的一个基本的模块mod_rewrite来解决,默认的安装的Apache就会装有这个模块。要启用这个模块,打开 httpd.conf文件,察看下面的两行是否被屏蔽,第一行是载入mod_rewrite模块,第二行是启用这个模块。
LoadModule rewrite_module modules/mod_rewrite.so
AddModule mod_rewrite.c
mod_rewrite这个模块是如何工作的呢?
mod_rewrite截获符合特定条件的URL,并按照设定的规则将它们改写成需要的URL。
比如,可以将 http://www.mysite.com/product.php?pid=123312 这样的URL改写成

七 19th, 2010 | Filed under Linux相关, WEB服务器, 开源技术

首先确定您使用的 Apache 版本,及是否加载了 mod_rewrite 模块。及是否加载了 mod_rewrite 模块 . mod_rewrite 的是一个 Apache 模块,可使服务器操纵请求的网址。根据一系列规则对传入的网址进行检查,规则中包含一个正则表达式来检测特定的格式。 如果在地址中发现了一个格式,并且满足适当的条件,该格式就会被一个替代的字符串或者是动作取代。

Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码:
清单 1. Apache 1.x 的加载模块代码

七 19th, 2010 | Filed under WEB服务器, 开源技术

URL 静态化是一个利于搜索引擎的设置,通过 URL 静态化,达到原来是动态的 PHP 页面转换为静态化的 HTML 页面,当然,这里的静态化是一种假静态,目的只是提高搜索引擎的搜索量,Comsenz 旗下的产品 Discuz!、SupeSite/X-Space、ECShop、SupeV、UCHome 等都支持此功能。当然这个功能还需要服务器环境的支持,下面介绍一下如何在 Apache 服务器下配置 URL 静态化的 Rewrite 规则。
当然这里分两种情况,一种是独立主机用户,这部分用户拥有对主机的管理权限,因此配置起来比较方便一些。(注:这里就以 Discuz!6.1.0 的 Rewrite 规则为例,稍后在后面会列举出其他产品的 Rewrite 规则。
首先确定您使用的 Apache 版本,及是否加载了 mod_Rewrite 模块。
Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码:
LoadModule Rewrite_module libexec/mod_Rewrite.so
AddModule mod_Rewrite.c
Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码:
LoadModule Rewrite_module modules/mod_Rewrite.so
如果存在,那么在配置文件(通常就是 conf/httpd.conf)中加入如下代码。此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即 <VirtualHost> 中去,如果加在虚拟主机配置外部将可能无法使用,改好后将 Apache 重启。
<IfModule mod_Rewrite.c>

七 19th, 2010 | Filed under WEB服务器, 开源技术, 系统架构及硬件

一.安装
首先,如果您花费一点时间熟悉一下常用的命令 会非常有帮助!
安装LAMP并没有那么神秘。 一步一步来。这比windows下面那麻烦的配置 简单多了!
1.安装LAMP
在新立得软件包管理器中选择  编辑--使用任务分组标记软件包
在打开的窗口中 勾选 LAMP SERVER 然后确定。
在主窗口中 点击绿色的对号 应用 按钮
好了 。接下来就是等待…等待新立得 自动下载安装完。
中间会有一次提示输入mysql的root用户的密码

2.安装phpmyadmin
方案一:终端中运行命令
sudo apt-get install phpmyadmin

方案二:
强烈建议不要从源里安装
在phpmyadmin网站上下载软件包,解压缩到本地目录/var/www/phpmyadmin
tips:如果你请直接解压到/var/www/phpmyadmin,如果不存在phpmyadmin,请自行创建
在终端下执行
sudo cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php
sudo gedit /var/www/phpmyadmin/config.inc.php

找到“blowfish_secret”在后面填上任意字母
$cfg['Servers'][$i]['auth_type']=’cookie’;
$cfg['Servers'][$i]['host']=’localhost’;
$cfg['Servers'][$i]['connect_type']=’tcp’;
$cfg['Servers'][$i]['compress']=’false’;
$cfg['Servers'][$i]['extension']=’mysql’;
保存,退出
安装php5-mcrypt
sudo apt-get install php5-mcrypt

编辑php配置文件
sudo gedit /etc/php5/apache2/php.ini

在extension下面加上
extension=php5-mcrypt.so

保存,重启apache2
在浏览器里输入http://localhost/phpmyadmin

二.配置
1>apache 的配置文件路径 /etc/apache2/apache2.conf
2>php.ini 路径 /etc/php5/apache2/php.ini
3>mysql配置文件 路径 /etc/mysql/my.cnf
4>phpmyadmin配置文件路径 /etc/phpmyadmin/apache.conf
5>网站根目录 /var/www

1.配置apache
终端中使用命令
sudo gedit /etc/apache2/apache2.conf

在配置文件最后面加入下面几行:
添加文件类型支持
AddType application/x-httpd-php .php .htm .html
默认字符集 根据自己需要
AddDefaultCharset UTF-8

服务器地址
ServerName 127.0.0.1

添加首页文件 三个的顺序可以换 前面的访问优先 (当然你也可以加别的 比如default.php)
<IfModule dir_module>
DirectoryIndex index.htm index.html index.php
</IfModule>

修改apache的根目录DocumentRoot:
sudo vim /etc/apache2/sites-enabled/000-default
修改DocumentRoot /var/www
重启Apache2服务即可。
sudo [...]

recently tried SUSE enterprise 10 and although i found the GUI absoloutly excellent, wireless support and sound card support was such an effort to get working, i have come back to good ol’ ubuntu. The classic linux distro where stuff seems to ‘just work’.
The following is meant to be a tutorial for [...]

Apache性能优化、超时设置
1、Apache线程数和超时设置
    Apache的线程数控制文件为conf/exrtra/http-mpm.conf,需要在httpd.conf中将 Include conf/extra/httpd-mpm.conf前#去掉,以使得http-mpm.conf生效。
   在Windows系统中,起作用的是Winnt mpm段,
<IfModule mpm_winnt_module>
    ThreadsPerChild      150
    MaxRequestsPerChild    0
</IfModule>
     缺省的配置一般够用,但负荷大的网站就要修改了,否则网站一下就变慢或没有响应了。实际可以根据apache-status查看apache实时连接状态,我的服务器最后设置如下:
<IfModule mpm_winnt_module>
    ThreadsPerChild    350
    ThreadLimit     350
    MaxRequestsPerChild    10000
Win32DisableAcceptEx
EnableMMAP Off
EnableSendfile Off
</IfModule>
    其中ThreadLimit是占用系统线程数限制,最好加上,否则会产生内存溢出导致Apache当掉。 
    MaxRequestsPerChild我理解是请求的缓存数,太小了影响性能,占用cpu时间,太大了占用内存资源,想象一下你网站的文件个数,然后自己设定,只要不为0就可以,防止内存溢出。
    ThreadsPerChlid是apache的线程数,就是开了这么多的线程来等待响应客户端请求,需要根据apache-status实时的监控调节,大了会占用过多内存,小了会导致连接不上。而且应该同时修改httpd-default.php超时设置来配合。
    在httpd.conf中去掉Include conf/extra/httpd-default.conf前的#以使httpd-default.php生效。
其中调节以下参数
Timeout 15 (连接超时缺省为300,太大了,缩小会减少同时连接数,即上面占用的实际线程数)
KeepAlive On (开启可以提高性能,因为一个页面一般会有多个请求)
MaxKeepAliveRequests 50 (这个数目自己根据网页内容调节)
KeepAliveTimeout 5 (这个小于Timeout就行)
Linux 下Apache重启等
如果是linux自己带的apache的话就使用命令
service httpd start 启动
service httpd stop  关闭
service httpd restart 重新启动
如果不是linux自带的apache,或者你的linux根本就没带,是你自己按在/usr/local的话。
进入/usr/local/bin下
cd /usr/local/bin
找到可执行文件执行它,具体你的可执行文件名字是什么我就不大清楚了,
不过肯定是apache开头的什么文件
比如是apache1
执行
./apache1

五 18th, 2010 | Filed under Linux相关, WEB服务器, 系统架构及硬件

一. 安装MySQL
我使用的的Mysql是4.1.10,源代码版,你也可以使用RPM包或者二进制版,安装方法可能不一样,请参考其它文章.
先下载Mysql4.1.10的源代码版,地址: http://dev.mysql.com/downloads/mysql/4.0.html
把它下到/usr/local/src目录下,如果没有该目录,就自己建一个.下载回来的包名字叫 mysql-4.1.10.tar.gz,然后我们把它解压出来:
# tar -zxvf mysql-4.1.10.tar.gz
解压后生成mysql-4.1.10目录,我们进入该目录:
# cd mysql-4.1.10
进入后就开始配置mysql了,配置过程中我们要给mysql设置一个安装目录,我们设置在 /usr/local/mysql 下,以为把文件放到一个地方比较容易
管理,如果你还想获得更多的配置信息,使用 ./configure –help: 
# ./configure –prefix=/usr/local/mysql
(./configure –with-libc=/usr/local/glibc-2.4 –prefix=/usr/local/mysql)
然后等几秒钟,配置完成后就编译源代码:
# make
这个编译的过程比较长,如果机器比较慢的话,可能要近二十分种 ( PS:我的机器是很普通的机器,所有用了差不多15,6分种 ) . 编译完成后就安装:
# make install
等上几秒钟,安装完成.下面就到了最关键的部分了,为什么老安装不成功,(PS:至少我是安装了N次,N > 10 ,呵呵),问题关键就在这里,访问 mysql要一个专门的用户,而且必须给相应的访问权限,这里我们就设置root和mysql有权限访问.
我们先建立一个mysql和mysql组用户来访问mysql:
# (pw)  groupadd mysql #建立mysql组
# (pw) useradd mysql -g mysql #建立mysql用户并且加入到mysql组中
建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤)
# ./scripts/mysql_install_db –user=mysql #初试化表并且规定用mysql用户来访问
初始化表以后就开始给mysql和root用户设定访问权限, 我们先到安装mysql的目录:
# cd /usr/local/mysql
然后设置权限
# chown -R root . #设定root能访问/usr/local/mysql
# chown -R [...]

OS:linux as 4.2
软件列表:
1
mysql-5.0.41-linux-i686.tar
http://www.mysql.com
2
httpd-2.0.58.tar
http://www.apache.org
3
php-5.2.3.tar
http://www.php.net
4
jdk-6u1-linux-i586
http://java.sun.com/javase/downloads/index.jsp
5
apache-tomcat-6.0.13.tar
http://tomcat.apache.org/download-60.cgi
6
tomcat与apache联接器
tomcat-connectors-1.2.23-src.tar.gz
http://tomcat.apache.org/download-connectors.cgi
7
resin
http://www.caucho.com
开始安装:
1安装mysql
tar zxvf mysql-5.0.41-linux-i686.tar.gz
[root@ns2 software]# cd mysql-5.0.41-linux-i686
[root@ns2 local]#groupadd mysql
[root@ns2 local]#useradd -g mysql mysql
[root@ns2 local]#mv mysql-5.0.41-linux-i686 /usr/local/mysql -f
[root@ns2 local]#cd /usr/local/mysql
[root@ns2 local]# chown -R mysql.mysql ./
[root@ns2 local]#scripts/mysql_install_db –user=mysql
[root@ns2 local]#chown -R root .
[root@ns2 local]#chown -R mysql data
[root@ns2 local]#chgrp -R mysql .
[root@ns2 local]#bin/mysqld_safe –user=mysql &
这样MySQL就已经启动了,下面为root用户设置密码:
[root@ns2 local]# ./bin/mysqladmin -u root password ‘password’
[root@ns2 local]# ./bin/mysqladmin -u root -h localhost.localdomain password [...]