今天是8月18日,但从农历看,今天是一个比较不同的日子。今天是农历七月十四,没错,今天是鬼节。
今晚吃了一大餐后,早早地就从奶奶家回来了。
不过不好意思,虽然我喜欢搞点灵异的东西,但这篇文章我不想掺和进这些东西。如果前面两段给你造成什么误会,那我在此说声不好意思啦~什么?这篇文章我想写什么?没看见题目吗?是关于架构服务器环境的心得。不过我在这方面还是菜鸟一个,所以本文有什么不足之处,还请多多指教!
言归正传。首先,我的电脑不是用来做服务器用的,纯粹的家用电脑,所以我希望给所有程式“绿色化”,即用的时候再加载,平时不启动它们。然后,我希望给我的电脑架构一个全能的环境,不过我知道欲速则不达,所以还是一步步。第一步先架构一个最安全稳定而且常用的PHP环境。
首先安装Apache,用 subst虚拟一个W盘后,把Apache安装到里面(为了绿色化,嘿嘿)。程序装在W:/apache2,Iconv装在W:/Apache2/bin /Iconv/,说明文档装在W:/Apache2/doc/。我不知道文档我能不能看得懂,但还是先装上去吧。好了,装好Apache,copy程序,再卸载(绿色化需要),然后再把程序拷贝会去。当然你还可以先扫一下注册表垃圾。
然后把PHP、MySQL、PHPmyadmin下载,解压。都是绿色软件,嘿嘿,我喜欢。
经过对比才发现,原来MySQL没有经过优化之前有近100M!因为里面有太多针对大型服务器的东东,比如InnoDB。我们不需要这些,当然删之为快!于是MySQL目录大可只留下BIN,DATA,SHARE,而bin目录可留下 mysql.exe,mysqladmin.exe,mysqld.exe,mysqld- nt.exe,mysqldump.exe,mysqlimport.exe,MySqlManager.exe,mysqlshutdown.exe。不要忘了把data下的文件删掉,不要删目录哦。data目录下的是InnoDB,调试环境不需要。而一大堆INI,留下my_small.ini,小型机设置。再看看MySQL目录,呵呵,剩下20MB,全都是精华。
现在到了最头疼的时候了——配置调试。不过不用怕,我开google一边看帮助一边慢慢设置。如果你看得懂Apache2的文档,那么你肯定不用看下去了,直接查阅文档就OK。但我实在看不懂,所以只好把它删了,去网上搜索中文的。
配置Apache(配置文件./conf/httpd.conf):ServerRoot改为Apache2程序所在目录;Listen监听端口,默认是 80,可在前面加上IP地址制定监听IP;DocumentRoot设置存放站点html文件的目录;Options FollowSymLinks Indexes的Indexes去掉或加-,否则浏览者可以查看你的网站目录,当然个人调试可以不用那么严;DirectoryIndex默认首页文件名,加上index.php、index.htm一大堆,想到多少加多少,想不到就加这两个也可以了;设置虚拟目录在配置文件中找下面这行:
<IfModule mod_alias.c>
在这行下面添加如下内容:
Alias /phpmyadmin/ "W:/phpmyadmin/"
<Directory "W:/phpmyadmin/">
Options FollowSymLinks Indexes
AllowOverride None
Order deny,allow
allow from 127.0.0.1#允许从127.0.0.1访问
deny from all#拒绝从所有地址访问
</Directory>
接着我们联合Apache和PHP,
加入:
##设置PHP
# For PHP 4 do something like this:
#如果用Apache,则改为php4apache.dll
LoadModule php4_module "w:/php/sapi/php4apache2.dll"
AddType application/x-httpd-php .php
# For PHP 5 do something like this:
#LoadModule php5_module "c:/php/php5apache2.dll"
#AddType application/x-httpd-php .php
注意要把相应dll移动到系统目录(但我把他们移动到php目录居然也可以^_^)
设置PHP(把php.ini-recommend或php.ini-dist改为php.ini):extension_dir参数设定模块目录;打开 GD图库extension=php_gd2.dll;打开宽字符库extension=php_mbstring.dll;打开简繁体与UTF-8字符转换组件extension=php_iconv.dll(需把dlls里的iconv.dll复制到系统目录下);打开EXIF 函数库 php_exif.dll;打开IMAP,POP3 和 NNTP 函数库php_imap.dll;打开XML远程调用的模块 extension=php_xmlrpc.dll;display_errors设定是否显示错误信息在网页上;error_reporting设定显示错误方式;log_errors设定是否日志记录错误;我出于个人需要,把临时目录设置了一下 upload_tmp_dir;register_argc_argv=On;magic_quotes_gpc=On;variables_order = "EGPCS" 等变量都设置了一下;其实就是这一丁点。再补充一点:网上有很多文章说关于PHP加速器Zend Optmizer在php.ini加上
zend_optimizer.optimization_level=7;《== 优化程度,这里定义启动多少个优化过程。
zend_optimizer.encoder_loader=;《== 是否允许处理由Zend Encoder加密的PHP文件。
zend_extension_ts=;《== 优化器所在目录。
可以提高php运行效率,大家使用时一定要注意Apache的日志看看自己的加速器是否正常运行,因为通常是最新版本的加速器材支持最新版本的PHP。
设置MySQL:如果用MySQL4.1需在my.ini中的两处加入,分别是[mysqld]和[*client]处default- character-set=gb2312,否则你4.0的数据库转过来全成了乱码,当然别忘了把my.ini放进windows目录使之生效。
设置PHPmyadmin:$cfg['Servers'][$i]['auth_type']设为cookie,可以通过用户名+密码访问;$cfg['blowfish_secret']设置绝密密码,其实输入一大堆无意义的字符就OK;$cfg['PmaAbsoluteUri']改为你的phpmyadmin的浏览地址,如http://localhost/phpyadmin/;在这里需要提醒大家一点,如果用MySQL4.1以上的最好不要给用户设置密码——反正自家玩的,安不安全都没关系,如果一定要设置密码,要用mysql>set password for 'user'@"localhost"=old_password('yourPassword'); 的old_password()函数,因为mysql4.1服务器版本中使用了新的密码验证机制。当然密码问题你在php5里用mysqli拓展可以很好解决问题,但php5目前的版本不是很稳定,我这次是用PHP4。
好了,Apache+PHP+MySQL+PHPmyadmin设置好了。可以从网上下载文章系统回来用啦。
看看窗外,还是一片漆黑,难道今晚为了衬托节日气氛,不开街灯了?