=================== 第一步:Apache安装(已更新到2.2.x) ===================
第一步:Apache安装(已更新到2.2.x)
===================
下载 Apache去官网 自己找新的
国内有很多镜像点例如"人人"和"163"
注意要找httpd,因为apache下有很多项目,其中httpd就是web服务器
1 2 3 4 5 6 7 8 |
|
说明:如果make不成功,那么是configure不成,例如你缺少ssl组件,可以去掉
--enable-ssl
-----------------------------------------------
如果出现“No recognized SSL/TLS toolkit detected”错误
1 |
|
------------------------
如果Make: command not found
看看是不是make没装
# rpm -qa|grep make
如果没有信息那么说明make没装
#yum install make 即可
-------------------
手动启动
1 |
|
重启
1 |
|
如果报错说:
Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
需要修改/usr/local/apache2/conf/httpd.conf在
1 |
|
这个位置修改为:
1 |
|
--------------------------
YUM自动安装的启动
1 |
|
输入这个会提示出错 httpd未被被识别的服务
这个请见本博客另一篇介绍
-------------------------
这就说明安装成功了。
自己在浏览器输入:
1 |
|
这样就说明成功了!
------------------------------------------
防火墙配置
注意如果你希望在本地机器例如xp访问虚拟机的网页,如果是centos6需要修改防火墙启动80端口
1 2 |
|
添加下面一行,打开防火墙80端口:
1 |
|
重启防火墙
1 |
|
查看CentOS防火墙信息:/etc/init.d/iptables status
关闭CentOS防火墙服务:/etc/init.d/iptables stop
------------------------
开机加入自动启动服务
编辑rc.local文件
#vi /etc/rc.d/rc.local
加入如下启动命令
1 2 3 4 |
|
注意:我的这个路径是yum安装这些服务得到的路径,填写时要根据自己的安装路径,找不到可以借助whereis命令,主要是找到apachectl 、mysqld 、smb 这三个启动文件。
------------------------------------------
1 |
|
1 |
|
1 |
|
----------------------------------------
ab测试
1 |
|
------------------------------------------
卸载apache
如果是源码安装
#rm -rf 你的apache安装路径
同样作用于其他
========================
httpd启用虚拟主机
1 |
|
httpd-vhosts.conf
========================
YUM方式安装的,这样卸载:
1 |
|
否则要用
1 |
|
一个个删除
1 |
|
安装有错误 模块没有加上会报如下错误,此时打开注释模块即可 尤其那个mod_slotmem_shm的模块必须打开
1 2 |
|
打开注释的模块
===================
第二步 Mysql安装
===================
第一种方法:使用yum自动安装
1 |
|
----------------------------------------
第二种:下载源码编译安装
1 2 3 4 5 6 7 8 9 10 11 12 |
|
修改/etc/rc.local
说明:请修改mysql配置文件my.cnf中wait_timeout = 600(有些程序执行时间较长,mysql超时时间如果太短的话,容易发生mysql server has go away的错误)
注意事项:
安装完成后,需要拷贝一份my.cnf到ect目录下,使用support-files目录中的一个作为模板。在这个目录中有4个模板文件,是根据不同机器的内存定制的。
mysql-5.1.57版本执行如下copy
#cp support-files/my-medium.cnf /etc/my.cnf
mysql-5.1.67以上版本 执行如下copy
#cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
利用以上脚本安装,安装结束后发现启动的时候提示
1 2 |
|
脚本中有个建立
/usr/local/mysql/bin/mysql_install_db --user=mysql --------------------初始数据库并设置用户
重新运行一次
然后重启mysql ,一切OK
1 2 3 |
|
===================
第三步 PHP安装(已更新到5.4.8版)
===================
去www.php.net找最新的版本
5.4安装
1 2 3 |
|
1 |
|
如果提示未知的配置项--with-mysql-dir=/usr/local/mysql则使用如下
1 |
|
如果失败 可能原因有各种各样
-------------------------------
如果提示:Cannot find MySQL header files under /date/mysql.
这个是缺少了 mysql-devel 安装包,用
yum -y install mysql-devel 即可解决!
#yum -y install mysql-devel
-------------------------------
如果提示:xml2-config not found. Please check your libxml2 installation.
需要安装libxml2
#yum install libxml2-devel
-------------------------------
安装中可能存在这样的警告信息:
---------------------------------------------------------------------------------------------------------
1 2 3 |
|
如果提示:
1 2 3 |
|
------------------------------
完全成功才可以编译安装
#make
#make install
------------------------------------------------------
安装失败如果提示:Cannot load /usr/local/apache2/modules/libphp5.so into server:
原因:是Linux有一个SELinux保护模式引起的。
解决办法:
1关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启
这个方法可能会对服务器带来风险。
2不关闭SELINUX的方法:
1 2 3 4 |
|
--------------------------------------
复制php.ini配置文件
注意php新版本此文件名有变更
1 2 |
|
修改apache的配置文件httpd.conf
增加
1 |
|
修改www的默认文件地址DocumentRoot
注意还要修改Directoty的路径和上面的一样
重启httpd
测试php文件
phpinfo()
---------------------------------
执行php文件
1 |
|
加速器:
PHP安装eAccelerator
PHP安装扩展的两种类型:
===================
第四步 Memcached安装
===================
说明必须先安装libevent
1 2 3 4 5 6 |
|
--------------------------------------------
第二步 安装memcached
1 2 3 4 5 6 |
|
启动
1 |
|
查看详情
1 |
|
输出pid
1 |
|
查看内存使用
1 |
|
-------------------------------------------
PHP 中操作memcache有两个扩展,一个叫memcache,一个叫memcached都可以在php的reference中找到,现在
网上比较推荐使用基于libmemcahced 库的memcached扩展。支持memcache提供的CAS操作,稳定性和效率也更好。
(安装过memcached.so的话就不必安装memcache.so了二者根据实际情况选用其一,这里要说明的是memcache的功能memcached都有,但memcached的部分功能memcache没有,所以建议安装memcached.so)
-------------------------------------------
安装memcache的php扩展memcache
1 2 3 4 |
|
1 |
|
或者
1 2 3 4 5 6 |
|
安装memcached的php扩展memcached
安装前需要的准备:
先安装libmemcached,已安装可跳过
直接configure提示找不到memcached二进制文件,已经安装过了,好吧,制定一下。
安装方法如下:
1 2 3 |
|
首先安装libmemcached库
1 2 3 4 |
|
安装php memcached扩展
1 2 3 4 5 6 7 |
|
-------------------
重启
# /usr/local/apache2/bin/apachectl restart
---------------
测试memcache
1 2 3 4 5 6 7 |
|
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 30 |
|
调用
1 2 3 4 5 6 7 8 |
|
测试memcached ,运行 memcached 守护程序
运行 memcached 守护程序很简单,只需一个命令行即可,不需要修改任何配置文件(也没有配置文件给你修改 ):
/usr/local/memcached/bin/memcached -d -m 256 -u root-l 127.0.0.1 -p 11211-c 256 -P /tmp/memcached.pid
httpd参数解释:
-d 以守护程序(daemon)方式运行 memcached;
-m 设置 memcached 可以使用的内存大小,单位为 M;
-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;
-p 设置监听的端口,默认为 11211,所以也可以不设置此参数,(此处测试期间故而使用11212端口);
-u 指定用户,如果当前为 root 的话,需要使用此参数指定用户。
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,
如果要结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。
当然,还有其它参数可以用,man memcached 一下就可以看到了。
1 2 3 4 |
|
===================
Nginx安装
===================
1 2 3 4 |
|
安装Nginx时报错
1 |
|
安装pcre-devel解决问题
1 |
|
错误提示:
1 2 3 4 5 |
|
解决办法:
1 |
|
总结:
1 2 3 4 |
|
启动nginx
1 |
|
安装成功的页面
停止操作
停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的
步骤1:查询nginx主进程号
ps -ef | grep nginx
在进程列表里 面找master进程,它的编号就是主进程号了。
步骤2:发送信号
从容停止Nginx:
kill -QUIT 主进程号
快速停止Nginx:
kill -TERM 主进程号
强制停止Nginx:
pkill -9 nginx
另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:
kill -信号类型 '/usr/nginx/logs/nginx.pid'
平滑重启
如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx 发送信号,平滑重启。
平滑重启命令:
kill -HUP 住进称号或进程号文件路径
或者使用
/usr/nginx/sbin/nginx -s reload
注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
1 |
|
或者
1 |
|
平滑升级
如果服务器正在运行的Nginx要进行升级、添加或删除模块时,我们需 要停掉服务器并做相应修改,这样服务器就要在一段时间内停止服务,Nginx可以在不停机的情况下进行各种升级动作而不影响服务器运行。
步骤1:
如 果升级Nginx程序,先用新程序替换旧程序文件,编译安装的话新程序直接编译到Nginx安装目录中。
步 骤2:执行命令
kill -USR2 旧版程序的主进程号或进程文件名
此时旧的Nginx主进程将会把自己的进程文件改名为.oldbin,然后执行新版 Nginx。新旧Nginx会同市运行,共同处理请求。
这时要逐步停止旧版 Nginx,输入命令:
kill -WINCH 旧版主进程号
慢慢旧的工作进程就都会随着任务执行完毕而退出,新版的Nginx的工作进程会逐渐取代旧版 工作进程。
此 时,我们可以决定使用新版还是恢复到旧版。
不重载配置启动新/旧工作进程
kill -HUP 旧/新版主进程号
从容关闭旧/新进程
kill -QUIT 旧/新主进程号
如果此时报错,提示还有进程没有结束就用下面命令先关闭旧/新工作进程,再关闭主进程号:
kill -TERM 旧/新工作进程号
这样下来,如果要恢复到旧版本,只需要上面的几个步 骤都是操作新版主进程号,如果要用新版本就上面的几个步骤都操作旧版主进程号就行了。
上面就是Nginx的一些基本的操作,希望以后Nginx能有更好的方法来处理这些操作, 最好是Nginx的命令而不是向Nginx进程发送系统信号