lamp配置笔记

博客声明:此博客里面的主要内容有apache、mysql、fastcgi和xcache的相关配置

###############################################################

###############################################################

Apache的配置

################################################################

##############################################################

LAMP的配置相关信息

####################

Linux-2.6.32

Apache:ASF apache sofware foundation(Apache软件基金会)http、tomcat、cloudware

http-2.4.4

php-5.4.13

MySQL-5.5(rpm 通用二进制 源码)

http-->MySQL--php -->XCache

Apache2.4.4依赖1.4.1的Apr

apr:apache portable runtime 阿帕奇可移植环境

apr库 apr-util库提供的工具

rpm安装包:

/bin /sbin /usr/bin /usr/sbin

/lib /usr/lib

/etc

/usr/share{doc,man}

编译安装:

/usr/local/apr

bin,sbin

lib

etc

share/{doc,man}

==================================================================

=================================================================

Apache的配置环境

###################################

安装之前确认开发环境以安装和系统时间确保时间是当前时间,selinux是关闭的

developed library developed tool

下载apr-1.4.6 和apr-util-1.4.1源码包

apr-->apr-util -->apache

cd apr下

./configure prefix=/usr/local/apr

(红帽6不需要安装apr因为它已经更新到1.4.1

cd apr-util

./configure prefix=/usr/local/apr-util --with-apr=/usr/local/apr

./configure --help可以查看编译要求

cd apache

./configure --help

==============================================================

==============================================================

关闭selinux和iptables

==================

1、yum -y install pcre-devel gcc+ gcc 正则

2、tar -zxf apr-1.4.6.tar.bz2

cd apr-1.4.6

./configure --prefix=/usr/local/apr

make && make install

3、 tar -zxf apr-util-1.4.1.tar.bz2

cd apr-util-1.4.1

4、 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local

./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd(配置文件位置) --enable-so (动态加载模块,如果不启用会导致php模块不能加载)--enable-ssl(提供https访问) --enable-deflate 压缩后发给客户端 --enable-proxy-fcgi(php以fastcgi工作)  --enable-mpms-shared=all(2.4默认以event编译安装,2.2以prefork编译)--with-mpm=event 默认以哪种模式启动

--enable-rewrite 支持URL重写 --enable-cgid --enable-mods=most --enable-modules-shared=most --with-apr=/usr/loca/apr --with-apr-tuil=/usr/local/apr-util

--enable-cgid 对应event 和worker模块

--enable-cgi对应perfork模块

mpm多通道模块

5、

==============================================================

=============================================================

###############################################################

###############################################################

MySQL的二进制安装

##############################################################

################################################################

编译环境

#######################################

CENTOS6.5 X86_64

mysql的通用二进制包5.5.41

#######################################

1、tar -zxf    -C /usr/local

——————————————————————————————————————————————————————

注:通用二进制直接解压就可以使用但是必须安装在/usr/local/

——————————————————————————————————————————————————————

2、cd /usr/loca/

3、ln -sv mysql长名 MySQL

——————————————————————————————————————————————————————

注:最好把MySQL包名的长格式连接成MySQL

——————————————————————————————————————————————————————

3、groupadd -r -g 306 mysql

useradd -g 306 -r -u 306 mysql -r 为系统用户

———————————————————————————————————————————————————————

注:添加MySQL的用户主和用户

————————————————————————————————————————————————————————

4、chown -R mysql:mysql /usr/local/mysql/*

————————————————————————————————————————————————————————

注:修改mysql下的文件的权限

————————————————————————————————————————————————————————

5、scripts/mysql_install_db --user=mysql --datadir=/mydata/data &

————————————————————————————————————————————————————————

注:以mysql用户,初始化数据库,更改data的存放位置

逻辑卷分区,不放在原来的目录下,因为MySQL数据很大的

————————————————————————————————————————————————————————

6、chown -R root /usr/local/mysql/*

————————————————————————————————————————————————————————

注:再次更改mysql下的文件权限,如果没有更改data目录的位置

则要保持data的用户组和用户均为mysql

/usr/local/install-binary里面有详细的配置说明

————————————————————————————————————————————————————————

7、cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig --list |grep mysqld

_______________________________________________________

注:确保/etc/init.d/mysqd ,具有执行权限

___________________________________________________________

8、vim /etc/my.cnf

datadir=/mydata/data

(添加data目录的位置,用于我们上面没有使用默认的data)

service mysqld start

netstat -tulnp |grep 3306

————————————————————————————————————————————————————————

MySQL的配置文件格式:/etc/my.cnf 集中式配置文件

[mysql]客户端

[mysqld]服务端

[client]客户端

/etc/my.cnf-->/etc/mysql/my.cnf->$basedir/my.cnf(安装目录)-->$datadir/my.cnf-->~/.my.cnf以最后一个为准

my.cnf 下有很多配置 它们以内存大小区分的

socket =/tmp/mysql.sock 源码包安装的socket的位置

socket =/var/lib/mysql/mysql.sock rpm安装包

datadir = /mydatat/data

——————————————————————————————————————————————————————————————

9、vim /etc/profile/mysql.sh

source /etc/profile/mysql.sh 或者重新打开一个中断,就可以是配置生效

——————————————————————————————————————————————————————————————

注:把MySQL的路径添加在里面,export PATH=$PATH:/usr/local/mysql/bin

这样就可以直接使用/bin下的命令了,不用加绝对路径了

把源码包中的命令添加到系统变量中,便于调用

————————————————————————————————————————————————————————————

10、vim /etc/man.config

——————————————————————————————————————————————————————————————

注;把源码包中的man文件加到系统变量中

——————————————————————————————————————————————————————————————

11、vim /etc/ld.so.conf.d/mysql.cof

/uar/loca/mysql/lib

ldconfig -v 加载库文件

——————————————————————————————————————————————————————————————

注: 把源码包中的库文件,让它们被内核识别

——————————————————————————————————————————————————————————————

12、ln -sv /usr/local/mysql/include /usr/include/mysql 改变头文件的链接位置

————————————————————————————————————————————————————————————

注: 把源码包中的头文件加到系统变量中

————————————————————————————————————————————————————————————

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

mysql 服务器维护两类变量

服务器变量:information_schema

定义MySQL服务器运行特性

show global variables

状态变量:performance_schema

保存了MySQL服务器运行统计数据

show global status

mysql 通配符

_任意单个字符

%任意多个字符

压力测试工具

ab

http_load

webbench

siege

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#####################################################################

###############################################################

MySQL的主从复制

###############################################################

###############################################################

配置环境

###################

前提2台服务器的MySQL已经安装,且可以启动

2台服务器的网络已经连通

通过phpinfo();查询lamp环境的配置

bin-log日志已经开启,show variables like "%log%";确认bin-log是否开启

#####################################################################

一、master配置

vim /etc/my.cnf

1、启用二进制日志

mysql-bin=master-bin

log-bin-index=master-bin.index

2、选择一个唯一 server-id

server-id=0-2^32-1

3、创建具有复制权限的用户

replication slave 复制的从节点

replication client 具有连接主服务器,从主服务器复制数据的权限

二、slave

vim /etc/my.cnf

1、启用中继日志

relay-log=relay-log

relay-log-index =

2、选择一个唯一的 server-id

server-id=

3、连接主服务器,并开始复制数据

首先得要在主服务器上对从服务器进行用户授权

必须保证从服务器可以通过授权的用户进行远程登录

进入slave 的MySQL里面

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO ‘rep‘@‘%‘ IDENTIFIED BY ‘rep123‘;

FLUSH PRIVILEGES; 创建用户账户和密码

更改slave的相关配置

change master to

master_host=‘192.168.216.33‘,

master_port=3306,

master_user=‘rep‘,

master_password=‘123‘,

#这2个配置项是根据mater的show master status;查询得出的

master_log_file=‘mysql-bin.000012‘,

master_log_pos=421;

启动slave ,

slave start;

查看salve 的状态,确定io-running 为yes

确定thred-runing 也为 yes

show slave status\G;

如果报的是2003 connecting 则为网络不通,可能是密码,权限,和网络

##############################################################

##############################################################

MySQL的主主复制

##############################################################

##############################################################

1、在两台服务器上各自建立一个具有复制权限的用户

2、修改配置文件

主服务器

[mysqld]

server-id=10

log-bin=mysql-bin

relay-log=relay-mysql

relay-log-index=relay-mysql.index

auto-increment-increment=2

auto-increment-offset=1

从服务器

[mysqld]

server-id=20

log-bin=mysql-bin

relay-log=relay-mysql

relay-log-index=relay-mysql.index

auto-increment-increment=2

auto-increment-offset=1

3、查看对方的show master status;添加change master to

A:查看B的二进制日志文件及位置,并作为自己的复制起点

B:如上查看A的相关日志文件及位置

##############################################################

###############################################################

MySQL的半同步设置

##############################################################

###############################################################

###############################################################

###############################################################

PHP的模块化的工作方式配置

###############################################################

###############################################################

1、配置选项

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbsting(支持多字节的文字) --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/apx(将它编译成阿帕奇的模块,如果是模块编译就需要,如果是fastcgi就不需要) --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts(如果是prefork 就不需要,如果是event和worker就需要)

1、这里是为了支持apache的worker或event这两个mpm,编译时使用了 --enable-maintainer-zts选项,如果使用fastcgi则不选用该选项

2、如果使用php5.3以上版本,为了链接mysql数据库,可以指定mysqlnd,这样在本机就不需要先安装mysql或mysql开发包

mysqlnd从php5.3开始可用,可以编译时绑定到他,但是从php5.4开始它就是默认设置了, ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd

—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

2、复制配置文件

cp /usr/local/php/php.ini-production /etc/php.ini

————————————————————————————————————————————————————————————————————————————————

3、修改配置文件

vim /etc/php.ini

[php]

vim /etc/apache/apache.conf

addtype application/x-httpd-php .php

addtype application/x-httpd-php-source .phps

在<ifmodule dir_module>

directoryindex index.php index.html

</ifmodule>

————————————————————————————————————————————————————————————————————————

注:由于是编译成Apache的模块,所以不用启动服务

如果加上--enable-fpm 则表示启动fastcgi模式,这样就要启动fpm服务,当然必须取消上面./configure 中的--with-apxs2=/usr/local/apache/bin/apx选项

================================================================

===============================================================

===============================================================

PHP的fastcgi工作模式配置

===============================================================

=================================================================

1、编译(解压php的安装包)

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbsting(支持多字节的文字) --with-freetype-dir(字体库) --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr

--enable-xml --enable-sockets --enable-fpm(编译成fastcgi模式) --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2

--enable-maintainer-zts(去掉这一项,因为不在是工作在模块式的方式下)

2、make && make install

3、配置php-fpm

cp php.ini-production /etc/php.ini

cp sapl/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

chkconfig --add php-fpm

chkconfig php-fpm on

4、cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/etc/php-fpm.conf

vim /usr/loacl/php/etc/php-fpm.conf

pm.max_children=50

pm.start_server=5

pm.min_spare_server=2

pm.max_spare_server=8

pid=/usr/local/php/var/run/php-fpm.pid

5、启动php-fpm

service php-fpm start

ps aux | grep php-fpm

netstat -tulnp | grep php-fpm

获得9000端口

二、配置httpd-2.4.4

1、启用httpd的相关模块

在Apache2.4以后已经专门有一个模块针对FASTCGI的实现,此模块为mod_proxy_fcgi.so,其实它是作为mod_proxy.so模块的扩充,因此,这两个

模块都要加载 loadModule proxy_module modules/mod_proxy.so

loadmodule proxy_fcgi_module modules/mod_proxy_fcgi.so

2、配置的虚拟主机支持使用fcgi

在主配置文件中加上

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

在主配置文件中的根目录中加入Index.php的支持

<ifmodule dir_module>

dirctoryindex index.php index.html

</ifmodule>

proxyrequests off 关闭正向代理功能

proxypassmatch ^/(.*\.php)$ fcgi://192.168.0.1:9000/path

注:在虚拟主机中添加以上2行

三、安装XCCHE

##############################################################

###############################################################

PHP和Xcache的结合,提高php执行的效率

##############################################################

##############################################################

1、安装xcache

tar -zxf xcache-2.0.0.0.tar.gz

cd xcache-2.0.0.0

/usr/local/php/bin/phpize

./configure --enable-xcache --with-php-config=/usr/local/php/php-config

make && make install

最后会出现一个zend_extension_ts扩展库的位置

________________________________________________________

注:phpize 准备好一个扩展,准备为其编译

php-config 获取php的配置信息和安装时的信息

xcache 是php的扩展

=========================================================

2、编辑xcache的配置文件

mkdir /etc/php.d

cp xcache.ini /etc/php.d

vim /etc/php.d/xcache.ini

更改zend_extension_ts后面的文件位置,即是安装后最后出现的信息,记得加上xcache.so

[xcacheadmin]xcache的管理,可以关闭的

[xcache]

xcache.shm_scheme(共享内存)="mmap" 内存映射

xcache.size =60M opcode的共享内存空间 设为0则不启用xcache功能

xcache.countf=1  cpu个数

xcache.slots=8k 缓存中的槽位

xcache.ttl=0  缓存永远不过期0

xcache.gc_interval=0  gc 垃圾回收器 是否扫描

server httpd restart 重启http服务 因为是作为http模块编译的

通过php.info()查看xcache有没有启动

====================================================================

时间: 2024-11-18 09:37:06

lamp配置笔记的相关文章

LAMP配置笔记之源码安装apache

下载Apache源码: http://httpd.apache.org/(当前最新版本为2.4.12) tar -xf http-xx.tar cd http-xx ./configure --enable-so          //另外还可以使用 --prefix=path 指定安装位置,默认安装位置为: /usr/local/apache2/ ,完整的配置选项参考官方文档:http://httpd.apache.org/docs/2.4/programs/configure.html ma

centos7 lamp配置笔记

1.安装apache服务器 yum install httpd* 2.更改firewall centos7默认使用firewall而不是熟悉的iptables systemctl stop firewalld.service      systemctl disabled  firewalld.service 安装iptables yum install iptables vim /etc/sysconfig/iptables 在开启的22端口后加入以下两行 -A INPUT -m state

Liunx之Lamp搭建笔记

1:LAMP源码搭建用户关系 a.  apache服务以daemon用户的处理请求.以root身份作为主进程. b. php源码安装,会在httpd.conf文件中自动加入调用模块,但是在该文件中还要修改Addtype和Dir_Moudel c. 在编译mysql源码时,要增加一个用户配置到configure的参数中,作为mysql服务的运行用户,mysql的默认数据库的管理用户为root ,密码为空. 在源码搭建的过程中遇到的问题: 1:若浏览器出现时间出错,则需要在php.ini文件中修改

nginx图片过滤处理模块http_image_filter_module安装配置笔记

nginx图片过滤处理模块http_image_filter_module安装配置笔记 http_image_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版本,在网站访问量不是很高磁盘有限不想生成多余的图片文件的前提下可,就可以用它实时缩放图片,旋转图片,验证图片有效性以及获取图片宽高以及图片类型信息,由于是即时计算的结果,所以网站访问量大的话,不建议使用. 安装还是很简单的,默认HttpImageFilterModule模块是不会编译进ngi

Maven配置笔记

android-m2e插件与maven 自定义用户配置路径 不管插件还是maven,默认的用户配置路径是统一的:${user.home}/.m2/settings.xml 但是插件可以通过eclipse设置用户配置的路径(配置方法参考<ADT+Android-m2e环境搭建>):而maven不能永久指定,只能在每次使用mvn命令时加上"-s 新路径"参数. 依赖 如果使用android-m2d,在eclipse中写好依赖配置(<dependency>),保存之后

notepad++ 配置笔记

0.notepad++简介 Notepad++是一套非常有特色的自由软件的纯文字编辑器,有完整的中文化接口及支援多国语言撰写的功能.它的功能比 Windows 中的 Notepad更强大.Notepad++ 不仅有语法高亮功能,也有语法折叠功能,并且有大量扩展插件. 1.相关设置 [1]设置->首选项 设置tab [2]设置->首选项 设置函数和关键字自动完成 [3]设置->语言格式设置 设置全局字体 [4]设置->语言格式设置 修改C语言样式 notepad++ 配置笔记,布布扣

ciso 9124配置笔记

ciso 9124配置笔记 新建 网络,常用命令 初始化配置 ciso 9124的默认用户名密码为:admin,[email protected] 机器新开机进入初始化模式,第一个问题是否进入dialog模式,选择no,如果选择yes则进入交互模式,选择no则进入CLI模式 输入用户名密码进入命令行模式:admin,[email protected] 设置交换机的管理地址 switch# config t switch (config)# switchname switch switch(con

solr 4.8+mysql数据库数据导入 + mmseg4j中文全文索引 配置笔记

1.如何将solr部署,请参考之前的文章 2.按上述配置好后,在solr_home文件夹中,将包含collection1文件夹,这就是solr的一个实例.下面我们来看看collection1中的文件内容. collection1中包含conf和data两个子文件夹.data中包含tlog和index(如果没有也没关系,稍后再solr建立索引时,将会被创建).tlog是记录日志的文件夹,index是存放索引的文件夹.conf中包含lang文件夹和若干文件.lang文件夹中包含的是词库文件,但是so

NAS配置Time Machine,在D-Link DNS-320上的配置笔记

今天打算把Time Machine备份的工作交给NAS,曾经是放在一块外置硬盘上的,尽管速度要比NAS快,可是每次插拔外接都有些麻烦.而NAS又具有实时在线.定时关机启动的功能.配合Time Machine能够实现最大程度的数据备份. 事实上这个配置笔记是一边做一边写的,笔者本人也不知道会踩到什么雷,所以配置的过程不一定是最简洁的,仅仅求给大家带来一些思路.解决一些实际问题. 废话不多说了,叙述一下准备工作.DNS-320的入门级NAS一台(双盘位),更新了最新的固件,把当中一个盘拔出来后换上了