“配置” 标签页面:
-
为nginx配置https并自签名证书
一、把证书准备好。
步骤与使用OpenSSL自签发服务器https证书所述大同小异。在这里再重复一次。
1、制作CA证书:
ca.key CA私钥:
openssl genrsa -des3 -out ca.key 2048
制作解密后的CA私钥(一般无此必要):
openssl rsa -in ca.key -out ca_decrypted.key
ca.crt CA根证书(公钥):
openssl req -new -x509 -days 7305 -key ca.key -out ca.crt
2、制作生成网站的证书并用CA签名认证
在这里,假设网站域名为blog.creke.net
生成blog.creke.net证书私钥:
openssl genrsa -des3 -out blog.creke.net.pem 1024
制作解密后的blog.creke.net证书私钥:
openssl rsa -in blog.creke.net.pem -out blog.creke.net.key
生成签名请求:
openssl req -new -key blog.creke.net.pem -out blog.creke.net.csr
在common name中填入网站域名,如blog.creke.net即可生成改站点的证书,同时也可以使用泛域名如*.creke.net来生成所有二级域名可用的网站证书。
用CA进行签名:
openssl ca -policy policy_anything -days 1460 -cert ca.crt -keyfile ca.key -in blog.creke.net.csr -out blog.creke.net.crt
其中,policy参数允许签名的CA和网站证书可以有不同的国家、地名等信息,days参数则是签名时限。
如果在执行签名命令时,出现“I am unable to access the ../../CA/newcerts directory”
修改/etc/pki/tls/openssl.cnf中“dir = ./CA”
然后:
mkdir -p CA/newcerts
touch CA/index.txt
touch CA/serial
echo "01" > CA/serial
再重新执行签名命令。
好了,现在https需要到的网站私钥blog.creke.net.key和网站证书blog.creke.net.crt都准备完毕。接下来开始配置服务端。
二、配置nginx
新开一个虚拟主机,并在server{}段中设置:
listen 443;
ssl on;
ssl_certificate /path/to/blog.creke.net.crt;
ssl_certificate_key /path/to/blog.creke.net.key;
其中的路径是刚刚生成的网站证书的路径。
然后使用一下命令检测配置和重新加载nginx:
检测配置:
nginx -t
重新加载:
nginx -s reload
三、优化nginx配置
1、优化nginx性能
在http{}中加入:
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
据官方文档所述,cache中的1m可以存放4000个session。
在配置https的虚拟主机server{}中加入:
keepalive_timeout 70;
2、有时候,会发现,在phpMyAdmin等程序登入后会错误地跳转http的问题。解决方法是定位至“location ~ .*\.(php|php5)?${}”在include fcgi.conf;或者在fastcgi_param配置后面加上:
fastcgi_param HTTPS on;
fastcgi_param HTTP_SCHEME https;
在这里是nginx官方的关于https的文档,可以作为参考。
-
Virtualbox终极无间配置篇
Virtualbox有个问题,就是即使是相同用户启动,如果用户session不一样,那么还是会看到不同的启动结果,不能相互管理不同session启动的虚拟机(via)。这就杯具了啊,有时候,启动几个虚拟机,但是其中有一个死机了,要从主机的任务管理器里结束进程,我咋知道应该结束哪个???
还有一个问题,就是网络默认是NAT,很灵活也很方便,端口转发很实用。但是有一个致命伤,就是大流量多连接情况下,容易导致内存溢出,虚拟机断网,甚至进程崩溃等问题。
我看到最近几个更新的changelog有改善NAT的问题,所以卸载了原来的Virualbox,重启,安装新版,重启。然后打开虚拟机,卸载Virtualbox Guest Addtion,重启,安装新版,重启。至此,由外到里更新完毕。
然后,开始正式的配置。
同步全局的Virtualbox设置
我们知道,默认的Virtualbox设置是因用户而异的,一般存放在“C:\Documents and Settings\用户名\.Virtualbox”文件夹中。我们可以设定一下,使设置文件统一存放:新建“VBOX_USER_HOME”变量,里面填入设置存放的目录即可。
虚拟机以服务形式启动(via)
下载srvstart,编辑下面内容存为srvstart.ini,比如保存在D盘根目录下:
env=VBOXHEADLESS="C:\Program Files\Oracle\VirtualBox\vboxheadless.exe"
env=VBOXMANAGE="C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"debug=0
debug_out=>D:\soft\vbox\srvstart.logwait_time=60
[Win2003]
startup=%VBOXHEADLESS% -startvm Win2003
shutdown_method=command
shutdown=%VBOXMANAGE% controlvm Win2003 poweroff[VMWinXP]
startup=%VBOXHEADLESS% -startvm WinXP
shutdown_method=command
shutdown=%VBOXMANAGE% controlvm WinXP poweroff然后运行下面命令即可安装里面的WinXP为系统服务VMWinXP:
srvstart install_desktop VMWinXP -c d:\srvstart.ini
类似的,安装里面的Win2003为系统服务则是:
srvstart install_desktop Win2003 -c d:\srvstart.ini
当然,可以用系统命令sc创建系统服务,不过要注意两点:
- SC中,参数等于号后面要有一个空格,如“binPath= ”,后面有个空格哦,蛋疼得很。
- Virtualbox的服务需要开启桌面互动,否则会启动出错
WEB管理Virtualbox:
由于相同用户不同session也会导致虚拟机状态不同步,而且启动服务需要开启桌面互动,所以我们只能用默认的本地服务(Local Service)身份来启动服务。而Virtualbox的web service默认的验证方式是用户验证,所以我们要先把验证取消:
VBoxManage setproperty websrvauthlibrary null
然后设置Virtualbox的web api为服务,还是使用srvstart工具。我们先编辑刚刚的srvstart.ini,在末尾加上:
[VboxWebSrv]
startup=%VBOX_INSTALL_PATH%\VboxWebSrv –threads=20
shutdown_method=kill并安装其为“VboxWebSrv”服务:
srvstart install_desktop VboxWebSrv -c d:\srvstart.ini
然后到SVN“phpvirtualbox”项目的源码,它是Virtualbox的WEB GUI。像安装PHP程序一样安装。注意要SOAP扩展,以及把config.php的用户名和密码置空。
启动“VboxWebSrv”服务,访问你刚刚安装的“phpvirtualbox”,应该看到了正常的仿真Virtualbox面板。怎么样,可以通过web控制了吧。最重要的是,解决了不同session的虚拟机有不同状态的问题。
要注意两点:
- VboxWebSrv默认占用127.0.0.1的18083端口,注意让防火墙放行。由于取消了验证,所以建议只监听本地的127.0.0.1(默认)
- 由于phpvirtualbox本身不设有验证机制,也就是说,Virtualbox的web控制端是可以公开访问的,所以有必要添加基于web的认证。Apache可以用.htpasswd解决。参考http://blog.creke.net/273.html。
NAT环境下的端口映射和端口转发(via)
VBoxManage modifyvm "VM name" –natpf1 "guestssh,tcp,host ip,2222, guest ip,22"
命令解释:
跟之前的一样,我们可以看到熟悉的VBoxManage的身影。紧随其后的是 modifyvm ,跟之前版本的命令不一样。然后就是“VM NAME”虚拟机名称,将其替换成相应的虚拟机名称就可以了。接着就是重点部分了,NAT端口映射的参数。
1.natpf1 我们可以很容易理解这个参数,natpf即 nat port forwarding的缩写。后面紧接着的是虚拟机设置中相应网卡的数字,如果你的网卡是第一个,则为1。
2.natpf后的参数
(1)guestssh 是这个端口映射的名字,自行修改成容易理解的名称吧,如果填则系统会自动生成。
(2)tcp (or udp) 是映射的协议。
(3)host ip 则是你的主机的IP地址,如不填写则映射到主机中的所有IP地址上的相应端口。
(4)2222(host port) 主机端口,自选吧。
(5)guest ip 虚拟机中的IP地址,很明显,不填写则映射到虚拟机中的所有IP地址上的相应端口。
(6)22(guest port)虚拟机端口,自选+1。如果要删除端口映射,只需要输入以下命令:
VBoxManage modifyvm "VM name" –natpf1 delete "guestssh"
清理压缩Virtualbox磁盘镜像
可以使用VBoxManage命令中的modifyhd的compact参数解决。Windows虚拟机可以使用微软官方的SDelete工具来清理磁盘。
具体步骤和原理参见Virtualbox官方的User Guide的Vboxmanage-modifyvdi部分。
-
CentOS+Cpanel安装配置教程
安装过程选择英文,不要手痒选中文,否则会很纠结的。
选择软件时,我由于测试缘故,选了Desktop和Server。但实践证明,CentOS的GUI不好玩,而装CP会把你的Server大部分软件卸了。这里为了精简系统的目的,把所有默认的复选项的勾全部去掉,然后只选择“Development Tools”(开发工具)一项。
如果不装CP,那么应该选择下面软件包:
勾选:Editors, Text-based Internet, Development Libraries, Development Tools, DNS Name Server, FTP Server, Mail Server, MySQL Database, Server Configuration Tools, Web Server, Administration Tools, Base, and System Tools
CentOS配置系统启动时默认的启动模式(字符、图形)
方法:
1、vi /etc/inittab
2、找到id:x:initdefault:,我的系统是id:3:initdefault:,即默认以字符模式启动。
3、将3改为5即可,即id:5:initdefault:
4、rebootstartx是在字符模式进入图形模式
init 3是在图形模式进入字符模式vm下centos上不了网解决办法:
仅供参考:如果本机也是通过路由上网的话,把vmwear的网卡设置成桥接看看,本机拨号上网的话,设置成nat。测试下看看安装Cpanel:
然后用sh命令执行下载回来的脚步即可。等待10-70分钟就装好了。
安装完成Cpanel之后,重启系统。然后,访问https://你的IP:2087/,用户名是root,密码是你的root密码。如果提示证书问题,点信任以继续。进入WHM安装向导。前往这里查看WHM安装向导。看不懂英文?那还混啥……
然后到控制台,运行“/scripts/phpextensionmgr install IonCubeLoader ZendOpt”安装两个PHP扩展。前者用于运行CP破解脚本,后者是著名的PHP加速器。
然后破解什么的,就OK了。当然,如果找不到最新版的CP的破解,也是很正常的。
-
Visual Studio配置OpenGL
分两步:
(一)下载glut,并将其放置到适当的位置
(二) 进行vs2005项目属性配置
*******************************************************************************
第一步,
(转自参考网站: http://muggleyoung.blog.hexun.com/22800074_d.html)
OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。
1、与C语言紧密结合。
OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h,你会发现,使用OpenGL作图甚至比TC更加简单。
2、强大的可移植性。
微软的Direct3D虽然也是十分优秀的图形API,但它只用于Windows系统(现在还要加上一个XBOX游戏机)。而OpenGL不仅用于 Windows,还可以用于Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并且,OpenGL 的基本命令都做到了硬件无关,甚至是平台无关。
3、高性能的图形渲染。
OpenGL是一个工业标准,它的技术紧跟时代,现今各个显卡厂家无一不对OpenGL提供强力支持,激烈的竞争中使得OpenGL性能一直领先。
总之,OpenGL是一个很NB的图形软件接口。至于究竟有多NB,去看看DOOM3和QUAKE4等专业游戏就知道了。
OpenGL官方网站(英文)
下面将对Windows下的OpenGL编程进行简单介绍。
学习OpenGL前的准备工作
(一),选择一个编译环境
现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的。但这里我们选择Visual Studio 2005作为学习OpenGL的环境。
(二),安装GLUT工具包
GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。
Windows环境下的GLUT下载地址:(大小约为150k)
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
无法从以上地址下载的话请使用下面的连接:
http://upload.programfan.com/upfile/200607311626279.zip
Windows环境下安装GLUT的步骤:
1、将下载的压缩包解开,将得到5个文件
2、在“我的电脑”中搜索“gl.h”,并找到其所在文件夹(如果是VisualStudio2005,则应该是其安装目录下面的
“VC\PlatformSDK\include\gl文件夹”)。把解压得到的glut.h放到这个文件夹。
3、把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹(如果是VisualStudio2005,则应该是其安装目录下面的“VC\lib”文件夹)。
4、把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:\Windows\System32)
(三),建立一个OpenGL工程
这里以VisualStudio2005为例。
选择File->New->Project,然后选择Win32 Console Application,选择一个名字,然后按OK。
在谈出的对话框左边点Application Settings,找到Empty project并勾上,选择Finish。
然后向该工程添加一个代码文件,取名为“OpenGL.c”,注意用.c来作为文件结尾。
搞定了,就跟平时的工程没什么两样的
*******************************************************************************
第二部分:
转载自 http://blog.tianya.cn/blogger/post_show.asp?BlogID=78856&PostID=14520900
在 Project Properties->Configuration Properties->Linker->Input->Additional Dependencies 中添加opengl32.lib glu32.lib glaux.lib
*******************************************************************************
自己曾经出现过的两大问题:
一):error LNK2019: unresolved external symbol __imp__glFlush@ 这类的错误
或
1>PT.obj : error LNK2019: 无法解析的外部符号 _auxSolidSphere@8,该符号在函数 _main 中被引用
1>PT.obj : error LNK2019: 无法解析的外部符号 _auxInitWindowA@4,该符号在函数 _main 中被引用
1>PT.obj : error LNK2019: 无法解析的外部符号 _auxInitPosition@16,该符号在函数 _main 中被引用
1>PT.obj : error LNK2019: 无法解析的外部符号 _auxInitDisplayMode@4,该符号在函数 _main 中被引用
原因是没有在附加依赖项中添加如上lib 文件
解决:Add “opengl32.lib glu32.lib glaux.lib” to Project Properties->Configuration Properties->Linker->Input->Additional Dependencies
二):error C2664: “auxInitWindowW”: 不能将参数 1 从“const char [7]”转换为“LPCWSTR”
与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
错误及解决方案:
not passing in a Unicode string – put an “L” before the string literal: L”XXXXX” or use the TEXT(”XXXXX”) or _T(”XXXXX”) macros…
(转自http://blog.csdn.net/shuilan0066/archive/2008/12/03/3438108.aspx)
-
Visual Studio汇编语言环境配置
还是拖着一个烂烂的Vista慢慢跑,一直说装Win7都没有装。
要搞一下汇编语言了,干脆搞个VS2008速成版安装算了,微软免费授权,装了就是正版。如下图:
装好后,开始配置VS2008的汇编环境。
首先,要确认你的VS安装了Microsoft Assembler(即MASM)对应版本。对于VS2005,对应MASM8.0,需要先在这里下载并安装VS2005SP1,以及在这里下载并安装MASM8.0。对于VS2008,对应MASM9.0,其中的Team Suite和Professional版已经包含,不需安装,其它版本需要下载VS2008的SP1,它包含了Visual C++ 2008 Feature Pack,里面才有MASM9.0。
装好后,就可以新建项目并直接编译ASM文件了。
如何让ASM文件代码高亮呢?
在这里下载Usertype.dat,放到C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE文件夹中,然后在VS的“选项”窗口中,选择“文本编辑器”——“文件扩展名”,新增扩展名为“asm”,编辑器类型为“Microsoft Visual C++”。确定后,重启VS,就会发现ASM文件的代码可以高亮显示了。
本文参考http://www.asmirvine.com/相关介绍,该网站还有关于如何使用VS调试运行《Assembly Language for Intel-Based Computers》一书的例子的相关介绍。
该网站在中国大陆被和谐,无法直接访问。
-
Apache+MySQL+PHP+PhpMyAdmin 配置指南(PhpMyAdmin篇)
Apache+MySQL+PHP+PhpMyAdmin 配置指南(PhpMyAdmin篇)config.sample.inc.php复制为config.inc.php$cfg['Servers'][$i]['auth_type']设为cookie或http,可以通过用户名+密码访问;$cfg['blowfish_secret']设置绝密密码,其实输入一大堆无意义的字符就OK当然,做个虚拟目录放PMA,而不将它放在wwwroot目录下,也不失为一个好技巧。 -
Apache+MySQL+PHP+PhpMyAdmin 配置指南(MySQL篇)
如果你下载的是精简版的MySQL,需要先将完整版的data文件夹复制到安装目录下,以完成数据库初始化。
复制my-small.ini为my-template.cnf,保存到bin文件夹中,以便采用MySQLInstanceConfig.exe配置。一、安装
将下载的文件解压后是个setup.exe的可执行文件,点击即可安装。一般默认设置即可。
1、在选择安装类型
有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,可以自定义安装位置,也方便熟悉安装过程2、选择安装内容和安装路径
如上图,如果想了解开发的特性,在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。
默认的安装路径是【C:\Program Files\MySQL\MySQL Server 5.1】,可以点击安装路径右侧的Change…按钮来更改默认安装路径。建议不要放在与操作系统同一分区,这样可以防止系统备份还原的时候,数据被清空。我将MySQL安装在“d:/tools/mysql”下。
以往的版本都是将数据库的物理文件一同放在安装路径下的data目录下,但这个版本需要单独设置,如上图所示,需要通过【mysql server datafiles】来设置,其默认路径是放在了系统目录的一个隐藏的目录下,如图所示,建议修改到安装目录下或者一个指定的位置。方便日后备份。
3、安装完成
至此一路【Next】即可,直到提醒软件安装完成了,出现是否启动配置的界面,默认就是将 “Configure the Mysql Server now”前面勾打上的,点“Finish”结束软件的安装并启动mysql配置向导。也可以不勾选,等以后再配置。二、配置MySQL服务器
1、启动配置向导
除了如上述在安装结束时启动配置向导,还可以点击Windows启动菜单中MySQL服务器实例配置向导条目中的MySQL部分来启动MySQL Configuration Wizard(配置向导)。
还可以进入MySQL安装bin目录直接启动MySQLInstanceConfig.exe文件。2、选择配置类型
可以选择两种配置类型:Detailed Configuration(详细配置)和Standard Configuration(标准配置)。Standard Configuration(标准配置)选项适合想要快速启动MySQL而不必考虑服务器配置的新用户。详细配置选项适合想要更加细粒度控制服务器配置的高级用户。
我这里选择默认的Detailed Configuration(详细配置),以便可以更精确的配置MySQL服务器。3、选择服务器类型
可以选择3种服务器类型,选择哪种服务器将影响到MySQL实例对内存、硬盘和过程或使用的决策。
其中:
・Developer Machine(开发机器):该选项代表典型个人用桌面工作站,在本地开发机器上时可以选择,MySQL使用最少的系统资源。
・Server Machine(服务器):该选项代表服务器,MySQL服务器可以同其它应用程序一起运行,例如FTP、email和web服务器。MySQL服务器配置成使用适当比例的系统资源。
・ Dedicated MySQL Server Machine(专用MySQL服务器):该选项代表只运行MySQL服务的服务器。MySQL服务器配置成使用所有可用系统资源。4、选择数据库使用情况
通过Database Usage(数据库使用)对话框,你可以指出创建MySQL表时使用的表处理器。通过该选项,你可以选择是否使用InnoDB储存引擎,以及InnoDB占用多大比例的服务器资源。
・Multifunctional Database(多功能数据库):同时使用InnoDB和MyISAM储存引擎,并在两个引擎之间平均分配资源。建议经常使用两个储存引擎的用户选择该选项。
・Transactional Database Only(只是事务处理数据库):该选项同时使用InnoDB和MyISAM 储存引擎,但是将大多数服务器资源指派给InnoDB储存引擎。建议主要使用InnoDB只偶尔使用MyISAM的用户选择该选项。
・Non-Transactional Database Only(只是非事务处理数据库):该选项完全禁用InnoDB储存引擎,将所有服务器资源指派给MyISAM储存引擎。建议不使用InnoDB的用户选择该选项。简单说明:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能,由于使用Hibernate编程,所以选择Transactional Database Only。【更详细的区别可以查找参考手册,后续也会提供更详细说明】
5、选择InnoDB表空间
就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏。注意一般使用默认位置即可。
有些用户可能想要将InnoDB表空间文件放到不同的位置,而不放到MySQL服务器数据目录。如果你的系统有较大的空间或较高性能的储存设备(例如RAID储存系统,一般服务器都有RAID1或RAID5,开发机器一般没有),则最好将表空间文件单独放到一个位置。6、选择并发连接
限制所创建的与MySQL服务器之间的并行连接数量很重要,以便防止服务器耗尽资源。其中可以选择设置的项目:
・Decision Support(决策支持)(DSS)/OLAP:如果服务器不需要大量的并行连接可以选择该选项。假定最大连接数目设置为100,平均并行连接数为20。
・Online Transaction Processing(联机事务处理)(OLTP):如果你的服务器需要大量的并行连接则选择该选项。最大连接数设置为500。
・Manual Setting(人工设置):选择该选项可以手动设置服务器并行连接的最大数目。从前面的下拉框中选择并行连接的数目,如果你期望的数目不在列表中,则在下拉框中输入最大连接数。
我的开发机上人工只设置5个即可,正在开发的系统服务器选择第一项就能满足需要。7、Networking Options(网络选项)
可以启用或禁用TCP/IP网络,并配置用来连接MySQL服务器的端口号。还有一个关于防火墙的设置“Add firewall exception ……”需要选中,将MYSQL服务的监听端口加为windows防火墙例外,避免防火墙阻断。
8、选择缺省的字符集
可以设置适用于所有表、列和数据库的默认服务器字符集。对于Java编写的支持中文的程序一般选择人工设置为UTF8。9、Windows服务选项
默认将MySQL服务器安装为服务,服务名为MySQL。并且开机自动启动。该对话框还有一个选项,加入系统路径【Include bin directory in windows path】,建议勾选此项,以方便在命令行使用MySQL命令。
10、安全选项
为MySQL服务器设置一个root密码。如果重新配置已有的服务器,你还需要Current root password(当前root密码)框内输入已有的root密码。该对话框还有一个选项,允许root用户远程访问该机
-
Apache+MySQL+PHP+PhpMyAdmin 配置指南(PHP篇)
Apache+MySQL+PHP+PhpMyAdmin 配置指南(PHP篇)在PHP5的根目录下有两个预先配置好的php.ini的模板文件,php.ini-dist和php.ini-recommend,你可以把任何一个复制为php.ini文件。PHP官方的建议:如果是日常使用的服务器环境,应该使用php.ini-recommend,日常开发的话使用php.ini-dist。
官方原话的翻译是:压缩包中分发了2个ini文件,php.ini-dist和php.ini- recommended。我们推荐你使用php.ini-recommended,因为我们在这个文件里对默认设置作了性能和安全上的优化。请仔细阅读这份编写完好的文件,因为它与php.ini-dist有区别的地方会严重影响到你的安装。例如,display_errors设置为off, magic_quotes_gpc设置为off。阅读php.ini-recommended的同时,可以研究一下它包含的各项设置,自己手动调配参数。尽管PHP可以很好地工作在默认ini文件基础之上,但如果你想获得最佳安全环境,那么自己动手是最好的方式。把你选择的ini文件拷贝到PHP能找到的目录下,然后重命名为php.ini。在第5章中有个小节叫'配置文件',PHP会在此小节描述的位置中查找php.ini。我将php.ini-recommended复制为php.ini。
修改php.ini:
extension_dir = ".\ext"设定为模块目录,多个目录用“;”分隔;
memory_limit每个单独PHP脚本运行时所能使用的最大的内存数,默认为128M,太大,改为32M;
加载扩展语法为:extension=XXX.dll。
我打开的扩展:
打开GD图库extension=php_gd2.dll;打开宽字符库extension=php_mbstring.dll;打开IMAP,POP3 和 NNTP 函数库php_imap.dll;加载MySQL模块extension=php_mysql.dll;加载MySQL扩展模块extension=php_mysqli.dll。打开EXIF 函数库php_exif.dll。注意一,PHP 5 中(截止到 5.0.4)有以下修改。新增内置:DOM,LibXML,Iconv,SimpleXML,SPL 和SQLite。以下不再内置:MySQL 和 Overload;注意二,extension=php_mbstring.dll要在extension=php_exif.dll加载。
其它设置:
display_errors设定是否显示错误信息在网页上;
error_reporting设定显示错误方式;
log_errors设定是否日志记录错误;
我出于个人需要,把临时目录设置了一下upload_tmp_dir;
register_argc_argv=On;magic_quotes_gpc=On;variables_order = "EGPCS";short_open_tag = On等变量都设置了一下;联合Apache2与PHP:
在Apache的配置文件httpd.conf中加入:
LoadModule php5_module "W:\PHP\php5apache2_2.dll"
AddType application/x-httpd-php .php 《== 设定要用PHP解析的文件后缀名,还要解析多几种则再加几行
PHPIniDir "w:\PHP" 《== 设定PHP.ini的目录
(如果还用Apache2.0就加入LoadModule php5_module "W:\PHP\php5apache2.dll")
(如果还用PHP4则加入LoadModule php4_module "w:/php/sapi/php4apache2.dll")
现在保存以下内容为info.php:
<?phpphpinfo();
?>
在浏览器中访问上述info.php,如果PHP与Apache成功联合,则会显示PHP系统基本信息。用Zend Optimizer加速PHP:
在PHP.ini加上:
[Zend]
zend_optimizer.optimization_level=7 《== 优化程度,这里定义启动多少个优化过程。
zend_optimizer.encoder_loader=1 《== 是否允许处理由Zend Encoder加密的PHP文件。
zend_extension_manager.optimizer_ts="W:\ZendOptimizer\lib\Optimizer-3.3.0" 《== 优化器所在目录。
zend_extension_ts="W:\ZendOptimizer\lib\ZendExtensionManager.dll" 《== 优化器对应DLL。
这样可以提高php运行效率,大家使用时一定要注意Apache的日志看看自己的加速器是否正常运行,因为通常是最新版本的加速器才支持最新版本的PHP。修改环境变量中的"PATH"加入PHP安装路径。
不过如果要在Apache中加入新功能,如加入PHP解析的话,注意LogLevel的等级(为emerg已经可以)及日志为打开状态,否则出错也看不到错误日志的哦。
至此Apache已经可以正确解析PHP了。
-
Apache+MySQL+PHP+PhpMyAdmin 配置指南(Apache篇)
配置Apache(配置文件./conf/httpd.conf):ServerRoot改为Apache2程序所在目录;Listen监听端口,默认是80,可在前面加上IP地址制定监听IP;DocumentRoot设置存放站点html文件的目录;Options FollowSymLinks Indexes的Indexes去掉或加-,否则浏览者可以查看你的网站目录,当然个人调试可以不用那么严;DirectoryIndex默认首页文件名,加上index.php、index.htm一大堆,想到多少加多少,想不到就加这两个也可以了;配置ServerName,内网测试是localhost:port;
配置日志:
加入ErrorLog "logs/error.log",日志文件管理,记得建立对应文件夹;LogLevel改为emerg,#CustomLog "logs/access.log" common注释掉,关闭access.log日志。
如此设置后,还是会产生error.log日志的,把它设在内存盘就高枕无忧了。
不过如果要在Apache中加入新功能,如加入PHP解析的话,注意LogLevel的等级(一般emerg已经可以)及日志为打开状态,否则出错也看不到错误日志的哦。然后修改
<Directory />
Options FollowSymLinks
AllowOverride None
# Order deny,allow
# Deny from all 不注释掉的话肯定无法访问啦
</Directory>
加载模块,实现各模块功能
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule dumpio_module modules/mod_dumpio.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule filter_module modules/mod_filter.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule ident_module modules/mod_ident.so
#LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
#LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule logio_module modules/mod_logio.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule ssl_module modules/mod_ssl.so
#LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so如果发现不能运行,那么去看看log文件,一般都是模块没有配置好造成的。然后根据需要取消模块加载或配置好模块。
以后想实现什么模块功能,先<IfModule>中看看需要加载什么模块,然后再用LoadModule加载,最后配置好模块就可以了。设置虚拟目录:
在配置文件中找下面这行:
<IfModule mod_alias.c>
在这行下面添加如下内容:
Alias /phpmyadmin "W:/phpmyadmin/" #如果是Alias /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>个性化404等错误页面在ErrorDocument中设置。
当然有一个小技巧,不太实用,就是先在沙盘中安装,然后RIP出来,最后批量修改配置文件中的路径。
-
JAVA启航之旅(写给新手):安装配置IDE(Jcreator篇)
JAVA启航之旅(写给新手):安装配置IDE(Jcreator篇)
前言:
大家学习C++时,使用的一般是VC或者C-free。偶尔有火星人用TC,偶尔由高手用VS。其实它们都集成了开发套装(编译器、解释器及库类等)和开发环境(源代码编辑器)。但是学习JAVA时,事情就没那么简单了。你要分别配置两者。
这次,我们选择Jcreator作为IDE。针对新手。全文讲解比较详细。
Jcreator是最接近VC和C-free的IDE,相信大家如果只是应付一下学习,只是随便抄点程序,使用Jcreator是最佳选择,而且会很快上手。前言:请确定你的机器已经安装并配置好了JDK。如果没有,请参照本人写的《JAVA启航之旅:安装配置JDK(JAVA SE)》
一、下载并安装Jcreator
前往http://www.jcreator.com/download.htm下载Jcreator。然后,安装。大家也不要执迷于汉化版了,既然已经学到了JAVA,认命吧,用英文版吧。动一下手,动一下脑子也好,对不。二、配置Jcreator
首次启动Jcreator时,出现”Jcreator Setup Wizard”。建议在”User settings”中选择”Save settings in the installation directory”,以防重装系统时丢失配置。下一步来到”File Associations”,这是文件关联,一般默认即可。下一步来到”JDK Home Directory”,这里填写JDK的安装目录,不过一般都能够自动识别,不用管。下一步来到”JDK JavaDoc Directory”,这里填写JDK文档目录,一般没装,所以默认留空或自动识别,不用管,点击”Finish”三、注册Jcreator
Jcreator注册后才能成为专业版,专业版相对普通版多出的功能都是很实用的,比如代码提示等等。你可以去官方网站注册,费用是单用户89美元,教育用途用户35美元。显然大家都买不起,所以深感社会主义好的我们,可以直接填写注册码。在这里,如果你是Jcreator 4.5的用户,可以:在Help――Enter Registration Details里,在Name处填写”Made By HHJ”,在Key处填写”00000G-HHH22K-WTK2U6-RWFVDW-VAJMPC-EPM47D-JXA0U9-9F228N-PAK6ME”。如果你在看到本文后时光已经流逝了不知多少岁月(说不定这时MS已经倒闭了),如果你用的是比4.5更高版本,你就得上网新版本注册码了。四、配置Jcreator
基本不需要配置,说了够傻瓜的。想DIY的就调一下各个视图就OK了。讲完了。大家使用上次的HelloDate测试一下就行。
时间脚印
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
|---|---|---|---|---|---|---|
| « 一 | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||
最新文章
- 从火车票提取完整实名信息
- CentOS安装git
- firefox蛋疼升级到9.0.1后提示“附加组件不兼容”解决办法
- 关于SSL证书通用名(CN)通配符的实验
- CentOS下安装使用start-stop-daemon
最近评论
- creke 在 从火车票提取完整实名信息 上的评论
- Xiaoxia 在 从火车票提取完整实名信息 上的评论
- 有DNS的地方就能上网 « 细节的力量 在 用DNS隧道实现免费上网 上的评论
- creke 在 Windows下编译安装Privoxy 上的评论
- 小铱 在 Windows下编译安装Privoxy 上的评论

