之前也在linux上安装过一些环境,但是都没有记录。正好有个PHP项目需要在linux环境中跑起来,为了以后方便自己也方便大家,故记录下整个LAMP安装过程(CentOS 6.5为例)
1.首先找到一个lnmp包的资源(这里我用的是新浪的资源包)下载解压安装
[root@localhost src]# cd /usr/local/src && wget –c https://api.sinas3.com/v1/SAE_lnmp/soft/lnmp1.2-full.tar.gz --no-check-certificate
[root@localhost src]# tar xvzf lnmp1.2-full.tar.gz && cd lnmp1.2-full &&./install.sh lnmpa
2.配置一些密码,选择服务版本什么的
(1)设置MYSQL的ROOT密码
(2)是否只用InnoDB数据引擎,输入Y
(3)选择MYSQL版本,输入3
(4)选择PHP版本,输入3
(5)选择内存管理工具,输入2
(6)设置管理员邮箱
(7)选择Apache版本,输入1
确认一下选择(如果需要其他的版本,请自行选择),按任意键开始安装(过程可能稍微有点漫长,十几分钟到几十分钟,如果安装失败需要反安装,执行./uninstall.sh选择lnmpa即可)
环境安装完成后看到如下图
3.安装完成后就配置应用环境
(1)禁止匿名登录(没有vsftpd即略过)
vsftpd服务的默认配置是允许匿名登录的,为了安全起见需要配置一下
[root@localhost /]# vi /etc/vsftpd/vsftpd.conf
找到anonymous_enable=YES 修改为anonymous=NO保存退出
[root@localhost /]# service vsftpd stop 停止vsftpd服务
[root@localhost /]# ntsysv查看服务状态是否自启动 如果是则取消掉
(2)安装PHP 的LADP扩展
分别依次执行下面整段命令
yum install openldap
yum install openldap-devel
cp -frp /usr/lib64/libldap* /usr/lib/
cd /usr/local/src/lnmp1.2-full/src && tar -zxvf re2c-0.13.5.tar.gz && cd re2c-0.13.5 && ./configure && make && make install && cd /usr/local/src/lnmp1.2-full/src && tar -zxvf php-5.4.41.tar.gz && cd php-5.4.41/ext/ldap && /usr/local/php/bin/phpize && ./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap && make && make install(新浪的包里是没有re2c的,可以去搜索re2c-0.13.5.tar.gz找一下这个压缩包放到/usr/local/src/lnmp1.2-full/src下)
(3)安装PHP memcached扩展
[root@localhost /]# cd /usr/local/src/lnmp1.2-full/src && tar -zxvf libmemcached-1.0.18.tar.gz&&cd libmemcached-1.0.18 && ./configure && make && make install && cd /usr/local/src/lnmp1.2-full/src && tar -zxvf memcached-2.2.0.tgz&&cd memcached-2.2.0 && /usr/local/php/bin/phpize && ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config && make && make install
完成后如图
(3)安装PHP memcache拓展(选)
[root@localhost /]# cd /usr/local/src/lnmp1.2-full/src && tar -zxvf memcache-3.0.8.tgz && cd memcache-3.0.8&& /usr/local/php/bin/phpize && ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
完成后如图
(4)修改php.ini配置
[root@localhost /]# vi /usr/local/php/etc/php.ini
在文件最后一行增加下面代码并保存
extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
extension = memcached.so
extension = ldap.so
保存退出
[root@localhost /]# /etc/init.d/httpd restart
安装Apache日志分割拓展 (好处很多,建议做)
[root@localhost /]# cd /usr/local/src/lnmp1.2-full/src && wget http://down1.chinaunix.net/distfiles/cronolog-1.6.2.tar.gz && tar -zxvf cronolog-1.6.2.tar.gz && cd cronolog-1.6.2 && ./configure && make && make install
[root@localhost /]# vi /usr/local/apache/conf/httpd.conf
将
ErrorLog "/home/wwwlogs/error_log"
修改为
ErrorLog "logs/error_log"
将
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
修改为LogFormat "%{X-Forwarded-For}i %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" f5ip:%h" combined
LogFormat "%{X-Forwarded-For}i %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" f5ip:%h" common
将
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
修改为
LogFormat "%{X-Forwarded-For}i %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O f5ip:%h" combinedio
将
CustomLog "/home/wwwlogs/access_log" common
修改为
CustomLog "logs/access_log" common
继续找,约170行,修改为
<Directory />
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
[root@localhost /]# /etc/init.d/httpd restart
创建nginx日志分割脚本
[root@localhost /]# cd /home && mkdir shell && cd shell && vi nginx_logs_cut.sh
复制shell脚本代码并保存
#!/bin/bash
# The Nginx logs path
logs_path="/app/wwwlogs/*/"
yesterday=$(date -d "yesterday" +%Y%m%d)
for dir in ${logs_path}
do
if [ -f "${dir}nginx.log" ]; then
if [ -f "${dir}nginx_$yesterday.log" ]; then
mv ${dir}nginx.log ${dir}nginx_${yesterday}_$(date +%Y%m%d%H%k%M%S).log
else
mv ${dir}nginx.log ${dir}nginx_${yesterday}.log
fi
fi
done
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
将脚本加入计划任务
yum install vixie-cron crontabs 安装crontab
chkconfig crond on 开机自启动service crond start 启动
crontab -e
0 0 * * * /bin/bash /home/shell/nginx_logs_cut.sh
/etc/init.d/crond restart
至此,环境已经全部安装完毕,配置apache与nginx(如果需要)的vhost即可正常访问