Lammp安装过程
- 创建mysql数据库的lvm环境
- 安装repo环境
- 安装开发环境包
#yum groupinstall "Server Platform Development"
- 开始编译:
- 编译过程中,可能会出现的问题:apr-util/apr/pcre没有安装,则安装对应的软件即可
- apr软件安装
- ./configure --prefix=/usr/local/apr && make && make install
- apr-util软件安装
- ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install
- pcre直接通过yum install pcre-devel安装
- httpd启动和配置文件
环境变量修改
export PATH=/usr/local/apache/bin:$PATH
#vim /etc/rc.d/init.d/httpd
apachectl=/usr/local/apache/bin/apachectl
修改配置文件,启用最基本的httpd,并测试
#vim /etc/httpd/httpd.conf
Directoryindex index.html
- 关于php-fcgi的修改(若没有启用php-fcgi,则不需此步)[需要配合php编译中的php-fcgi参数]
- 修改httpd配置文件,启动httpd代理模块和fcgi模块
- 添加文件格式
- 添加php支持页
- 修改虚拟主机
- 示例:
<VirtualHost *:80>
DocumentRoot "/www/magedu.com"
ServerName magedu.com
ServerAlias www.magedu.com
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/www/magedu.com/$1
<Directory "/www/magedu.com">
Options none
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
- 解压,赋予权限:
#tar xf mysql-***.tar.gz
- 复制、修改配置文件
datadir = /mydata/data
basedir = /usr/local/mysql
#修改线程(修改为物理cpu核心的2倍)
thread_concurrency = 2
- 复制脚本文件
- 库/头/环境变量设置#ln -sv /usr/local/mysql/include /usr/include 有时候不可以,则用下面命令
ln -sv /usr/local/mysql/include/* /usr/local/include [加载php的pdo-mysql的时候需要此步骤]
#vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
#ldconfig -v | grep mysql
#vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
#. /etc/profile.d/mysql.sh
- 初始化msyql数据库
#./mysql_install_db --user=mysql --datadir=/mydata/data --basedir=/usr/local/mysql
报错:/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决:安装libaio-devel和libaio包
#chown -R mysql:mysql /mydata/data
#chmod -R 700 /mydata/data
- 授权httpd可以远程登录mysql(mysql单独分离则需此步骤)[远程授权,还需要配合php中的PDO-mysql模块]
#chown -R mysql:mysql /mydata/data/dbname
#chmod -R 700 /mydata/data/dbname
#mysqladmin -uroot password 123456
#mysql -uroot -p123456
>GRANT ALL PRIVILEGES ON dbname.* TO 'admin'@'http_ip' IDENTIFIED BY 'password' [with grant option];
>FLUSH PRIVILEGES;
- 安装libevent
memcached依赖于libevent API,因此要事先安装之,项目主页:http://libevent.org/,读者可自行选择需要的版本下载。本文采用的是目前最新版本的源码包libevent-2.0.21-stable.tar.gz。安装过程:
# cd libevent-2.0.21
# ./configure --prefix=/usr/local/libevent
# make && make install
# echo "/usr/local/libevent/lib" > /etc/ld.so.conf.d/libevent.conf
# ldconfig -v | grep libevent
- 安装配置memcached
# cd memcached-1.4.15
# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
# make && make install
启动脚本创建及修改
#vim /etc/profile.d/memcached.sh 创建环境变量
export PATH=/usr/local/memcached/bin:$PATH
#cp scripts/memcached.sysv /etc/rc.d/init.d/memcached
#chmod +x /etc/rc.d/init.d/memcached
#vim /etc/rc.d/init.d/memcached 内含启动时所用账户/内存大小
添加. /etc/profile.d/memcached.sh 添加环境变量 --默认启动脚本会去/bin下找memcached,故需在启动脚本中加入
修改USER=root 修改启动账户
#mkdir /var/run/memcached 创建pid路径
- 启动memcached
#service memcached start
- 测试
# telnet 127.0.0.1 11211
add命令格式(添加一个缓存):add keyname flag timeout datasize --flag标示号 timeout存储时间s datasize字段长度
如:添加
add mykey 0 10 12 --add添加
Hello world! --输入12字节的存储信息
如:获取
VALUE mykey 0 12
Hello world!
END
- 进入安装目录,并编译安装#./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts --enable-fpm --enable-fpm --with-http_stub_status_module
- --with-mcrypt 加密工具(libmcrypt,mhash),phpmyadmin需要
- --with-apxs2 apache钩子,意思就是将php改成模块化
- --enable-maintainer-zts 表明支持apache_mpm的worker和event(若apache是prefork,则不需添加)
- --enable-fpm 使php支持fastcgi模式(若php不工作在fcgi模式下,则不需添加)
- --with-config-file-scan-dir=/etc/php.d 表明php在读取配置文件的时候,同时读取php.d下的*.ini额外配置文件,一般模块配置文件存放此处
- 复制配置文件
#mkdir /etc/php.d
- 关于php-fcgi的修改(若没有启用php-fcgi,则不需此步)[需要配合httpd服务,且需要修改httpd配置]:
- 复制php源码目录中的启动脚本
#chkconfig --add php-fpm
#chkconfig php-fpm on
#chmod u+x /etc/rc.d/init.d/php-fpm
如果想实现daemon的效果,则需要修改启动文件,加入以下指令
首行加入[ -f /etc/rc.d/init.d/function ] && . /etc/rc.d/init.d/function
在case $1 in
start)
daemon ***
- 复制配置文件
pm.start_servers = 5 启动时创建的工作线程
pm.min_spare_servers = 2 空闲时保留的最小工作线程
pm.max_spare_servers = 8 空闲时保留的最大工作线程
- 关于php加速器xcache(可不安装,建议安装)
- 进入xcache安装包,执行phpize程序,以来识别xcache
- 编译
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
- 配置文件
- 测试
- 关于php与远程mysql相连(若http与mysql同一台设备,则无需此步)[需要配合mysql远程授权]
- 进入pdo_mysql安装包,执行phpize程序,以来识别pdo
- 编译
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
- 配置文件
vim /etc/php.d/pdo_mysql.ini
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/pdo_mysql.so
- service php-fpm restart
- 关于php与memcached相连(原因在于memcached属于半客户端、半服务端,所用如果php不支持,是无法缓存php程序的)[需要配合memcached服务器]
- 编译安装模块memcache(是memcache而不是memcached)
#cd memcache/
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
- 配置文件
vim /etc/php.d/memcache.ini
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/memcache.so
- service php-fpm restart
- 测试
创建php测试页
<?php
$mem = new Memcache;$mem->connect("127.0.0.1", 11211) or die("Could not connect");$version = $mem->getVersion();echo "Server's version: ".$version."<br/>\n";$mem->set('hellokey', 'Hello World', 0, 600) or die("Failed to save data at the memcached server");echo "Store data in the cache (data will expire in 600 seconds)<br/>\n";$get_result = $mem->get('hellokey');echo "$get_result is from memcached server.";
?>
Store data in the cache (data will expire in 600 seconds)Hello World is from memcached server.
Lammp安装过程的更多相关文章
- webstorm下载&&安装过程&&打开项目
一.webstorm下载 WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.被广大中国JS开发者誉为"Web前端开发神器"."最强大的HT ...
- vagrant 1.8.6 安装过程及总结遇到的坑
下面先总结遇到的问题,这些问题如果你也遇到,可能需要搜索很多次才能找到原因. 如果想看安装过程,可以先直接跳到后面第二部分部分. 1 问题汇总: 1.1 vagrant版本过高问题. vagrant ...
- 安装过程错误[INS-30131]
问题:Oracle Database 安装过程错误[INS-30131] 原因:安装用户没有对临时文件夹的读写权限 解决方案: 1.以管理员身份运行cmd.exe 2.输入命令(需启动Se ...
- TortoiseGIT的安装过程详解
TortoiseGIT简介 TortoiseGIT 是Git版本控制系统的一个免费开源客户端,它是git版本控制的 Windows 扩展.可以使你避免使用枯燥而且不方便的命令行.它完全嵌入 Windo ...
- RabbitMQ 集群安装过程详解
一.安装Erlang 1.rabbitMQ是基于erlang的,所以首先必须配置erlang环境. 从erlang官网下载 otp 18.3.下载链接:http://erlang.org/downlo ...
- JAVA安装过程中出现的“javac不是内部或外部指令”的解决方法
近来重新安装了JAVA,安装过程中出现问题,网上找到解决办法,汇总发布. 解决流程: 1.确定自己的环境变量设置没问题,没有出现遗漏 : . 等情况 (具体环境变量设置百度) 2.环境变量设置后 ,d ...
- LNMP安装过程
LNMP一键安装包是什么? LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora.Debian/Ubuntu/Raspbian/Deepin VPS或独 ...
- hbase 1.1.7在centor6.5安装过程
1.自己安装的最新版一直没成功,换成了1.1.7稳定版的.中间遇到的问题记录下 1) jdk 用的1.7版本的,安装过程省略. 2)下载hbase zip包:https://mirrors.tuna ...
- 2016最新cocoapods安装流程,安装过程中遇到的问题及解决方法
现在的cocoapods与之前比较.有很多不一样的地方.自己试了一试,终于搞定.现在大概纪录一下. 1.首先查看ruby是否是最新版的. ruby是通过rvm安装的所以需要先安装rvm后查看ruby是 ...
随机推荐
- c# 菜单无限极分类-利用递归
表结构: 前台代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Web ...
- pcduino通过USB方式刷机
最近买了块pcduino来玩,一开始也不知道怎么入手使用,就想先学着网上来刷机,可以用TF卡来刷机,也可以用U盘来刷机.由于手上只有优盘,所以采用了第二种方式.具体方法参考了网上. 本文非原创,原文来 ...
- hdu 1111 Secret Code
http://acm.hdu.edu.cn/showproblem.php?pid=1111 复数除法: #include <cstdio> #include <cstring> ...
- C51汇编伪指令
1.DS ---预留存储区命令格式: [标号:] DS 表达式值其功能是从指定地址开始,定义一个存储区,以备源程序使用.存储区预留的存储单元数由表达式的值决定. ;从标号TEP地址处开始保留1个存 ...
- CentOS6.4/6.7下Mysql数据库的安装与配置(转载)
通过RPM方式 给centos 安装mysql 最好有光盘,呵呵,网络也可以下载rpm安装包,不过文件较大. 1 挂载光盘 mount /dev/cdrom /mnt/cdrom/mount: b ...
- EBS R12 查询EBS用户相关SQL
--R12查询EBS在线用户SQL SELECT U.USER_NAME, APP.APPLICATION_SHORT_NAME, FAT.APPLICATION_NAM ...
- vs2008如何创建DLL和使用DLL
一 动态库的编译 文件->新建->项目 选择下一步:然后在应用程序类型里选择DLL 在test项目的头文件里加上test.h;并添加下列代码 在test.cpp里增加如下代码 然后F7编译 ...
- 《Java程序员面试笔试宝典》之为什么需要public static void main(String[] args)这个方法
public staticvoid main(String[] args)为Java程序的入口方法,JVM在运行程序的时候,会首先查找main方法.其中,public是权限修饰符,表明任何类或对象都可 ...
- python高级编程之选择好名称:完
由于时间关系,python高级编程不在放在这边进行学习了,如果需要的朋友可以看下面的网盘进行下载 # # -*- coding: utf-8 -*- # # python:2.x # __author ...
- Java并发框架——AQS堵塞队列管理(一)——自旋锁
我们知道一个线程在尝试获取锁失败后将被堵塞并增加等待队列中,它是一个如何的队列?又是如何管理此队列?这节聊聊CHL Node FIFO队列. 在谈到CHL Node FIFO队列之前,我们先分析这样 ...