Centos 6.4 搭建lamp环境(系列1)

大部分软件我们都是编译安装的,编译安装的是可以自行调整编译参数,自己可以调整需要的结果,也比较安全。

原创博文来自:www.51niux.com  博主:忙碌的柴少

网上yum安装的博客比较多,编译安装的也不少,废话不多说。

环境版本:

系统环境:Centos 6.4 64位

apache版本:apache 2.29

php版本:php 5.3.27

mysql版本:5.1.72

一、mysql编译安装:

扯两句,mysql服务器我们一般是单独的一台服务器,如果是集群环境这里就简单安装一下就行,如果是单机提供lamp服务的话,就连库都生成吧。

mkdir /tools
cd /tools/

yum -y install bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* mysql-devel  #yum这些库后面安装就不会报莫名的错误说缺这缺那了

wget downloads.mysql.com/archives/get/file/mysql-5.1.72.tar.gz #官网下载地址,软件包尽量官网下载,不容易下载带木马的软件包到服务器

useradd mysql -s /sbin/nologin  -M  #创建mysql用户

tar zxf mysql-5.1.72.tar.gz
cd mysql-5.1.72

./configure --prefix=/application/mysql5.1.72 \

--with-unix-socket-path=/tmp/mysql.sock \

--localstatedir=/mysqldata --enable-assembler \

--enable-thread-safe-client \

--with-mysqld-user=mysql \

--with-big-tables --without-debug --with-pthread \

--with-extra-charsets=complex --with-readline \

--with-ssl --with-embedded-server \

--enable-local-infile --with-plugins=partition,innobase \

--with-mysqld-ldflags=-all-static \

--with-client-ldflags=-all-static

make && make install

#--prefix=/application/mysql5.1.72 指定软件位置,一般我们都是带软件版本创建目录方便管理

#--with-unix-socket-path=/tmp/mysql.sock 指定sock套接字的位置,就安装到/tmp下面就好,好多软件都是默认是/tmp下面是找mysql.sock,你变了位置到时候还要创建软连接

#--localstatedir=/mysqldata  指定数据库所在的目录,一般是指定到我们的一个比较大的挂载分区

#--enable-assembler  使用汇编模式,可以提高性能

#--enable-thread-safe-client  使用编译客户端(让客户端支持线程的意思)

#--with-mysqld-user=mysql  指定mysqld守护进程的用户

#--with-big-tables   启用32位平台对4G大表的支持

#--without-debug   编译为产品版,放弃debugging代码

#--with-pthread  强制使用pthread类库

#--with-extra-charsets=complex 安装所有的扩展字符集,这句话很有用的,我们安装mysql一般会指定字符集是utf8之类的,等后面有些字符数据库不支持你还要重新编译,这样就避免那种情况了。

#--with-readline 使用行编辑库

#--with-ssl 启用SSL的支持

#--with-embedded-server 编译embedded-server,构建嵌入式MySQL库

#--enable-local-infile 允许从本地导入数据

#--with-plugins=partition,innobase MySQL服务器端支持的存储引擎组件(默认为空)

#--with-mysqld-ldflags=-all-static 静态编译MySQL服务器端(静态链接提高13%性能)

#--with-client-ldflags=-all-static 静态编译MySQL客户端(静态链接提高13%性能)

注意:根据自己的实际需求来选择编译参数。

ln -s /application/mysql5.1.72  /application/mysql  #做个软连接方便管理

cp support-files/my-small.cnf /etc/my.cnf #mysql的配置文件

cp support-files/mysql.server /etc/init.d/mysqld  #mysql的启动文件

chmod 755 /etc/init.d/mysqld
chown mysql:root /etc/my.cnf

mkdir /mysqldata  #创建数据库文件
chown mysql:root /mysqldata  #给数据库目录授权不然容易报错

/application/mysql/bin/mysql_install_db  --defaults-file=/etc/my.cnf --basedir=/application/mysql5.1.72/ --datadir=/mysqldata --user=mysql #初始化数据库,提示信息出现两个OK为成功

vi /etc/my.cnf #更改配置文件,先简单修改几个地方

[client]

default-character-set=utf8  #前面编译没有指定默认字符集这里设置一下,连接以utf8字符集连接

[mysqld]

default-character-set=utf8  #数据库默认的字符集是utf8,不然是latin1
datadir=/mysqldata   #这里不指定一下数据库的位置的话会报错

[mysql]
default-character-set=utf8  #客户端也是默认utf8字符集

vi /etc/profile  #修改环境变量

PATH=$PATH:/application/mysql/bin   #加载mysql的环境变量
export PATH

. /etc/profile  #使生效

至此mysql的编译和配置文件修改完毕。

/etc/init.d/mysqld start  #启动mysql
Starting MySQL. SUCCESS!  #这提示启动成功

/application/mysql/bin/mysqladmin  password 123456  #mysql默认是空密码,这里设置新密码为123456,生产环境mysql的密码要设置的尽量复杂

下面是看下结果,我们mysql登录啊版本啊,默认字符集啊:

二、apache的编译安装

cd /tools/
wget wget apache.fayea.com//httpd/httpd-2.2.29.tar.gz

tar zxf httpd-2.2.29.tar.gz
cd httpd-2.2.29

./configure --prefix=/application/apache2.2.29 --enable-deflate --enable-expires  --enable-headers --enable-modules=most --enable-ssl --enable-so --with-mpm=worker --enable-rewrite

#--prefix=/application/apache2.2.29 指定安装目录

#--enable-deflate 支持网页压缩

#--enable-expires   支持网页缓存

#--enable-headers  提供允许对HTTP请求头的控制

#--enable-modules=most  支持大多数模块

#--enable-ssl  基于ssl加密传输

#--enable-so 启用动态模块加载

#--with-mpm=worker  让apache以worker(线程级)方式运行,2.2默认是prefork(进程式)工作模式

#--enable-rewrite  允许URL重写

插一嘴,这样安装大部分模块都是静态加载。因为有--enable-modules=most这句话,它加载了大部分的模块。如果用--enable-mods-shared=all换掉就是动态加载。动态加载就是需要这个模块的时候apache会去调用,不是预启动的形式,而且还要去apache配置文件里面制定加载哪个模块。如果只想指定某些模块为静态加载,就要指定模块后面加=static,静态加载呢就是这些模块就已经预启动了等待你apache的指示,没有什么准备时间,你命令一到我就执行,响应很快但是有点耗资源。

make && make install

ln -s /application/apache2.2.29 /application/apache

下面两张图,第一张图是静态加载的效果,第二章图是静态加载的效果

三、编译安装php

cd /tools/
yum install -y zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-dev freetype-devel libpng-devel gd-devel curl-devel libxslt-devel libxml2 libxml2-devel

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

tar zxf libiconv-1.14.tar.gz

cd libiconv-1.14

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

make && make install

cd /tools

wget cn2.php.net/get/php-5.3.27.tar.gz/from/this/mirror

tar zxf php-5.3.27.tar.gz

cd php-5.3.27

./configure \

--prefix=/application/php5.3.27 \

--with-apxs2=/application/apache/bin/apxs \

--with-mysql=/application/mysql \

--with-ttf \

--with-xmlrpc \

--with-openssl \

--with-zlib \

--with-freetype-dir \

--with-gd \

--with-jpeg-dir \

--with-png-dir \

--with-iconv=/usr/local/libiconv \

--enable-short-tags \

--enable-sockets \

--enable-zend-multibyte \

--enable-soap \

--enable-mbstring \

--enable-static \

--enable-gd-native-ttf \

--with-curl \

--enable-memcache \

--with-xsl \

--enable-ftp \

--with-libxml-dir

make&&make install

ln -s /application/php5.3.27 /application/php

cp php.ini-production  /application/php5.3.27/lib/php.ini

#--prefix=/application/php5.3.27 指定php的安装位置

#--with-apxs2=/application/apache/bin/apxs 整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块,这样apche就能加载php了

#--with-mysql=/application/mysql 指定mysql安装目录,对mysql的支持

#--with-ttf 打开freetype1.*的支持

#--with-xmlrpc 打开xml-rpc的c语言

#--with-openssl openssl的支持,加密传输https时用到的

#--with-zlib  打开对zip的支持

#--with-freetype-dir  打开对freetype字体库的支持

#--with-gd 打开gd库的支持

#--with-jpeg-dir 打开对jpeg图片的支持

#--with-png-dir 打开对png图片的支持

#--with-iconv=/usr/local/libiconv 选项指令 --with-iconv-dir 用于 PHP 编译时指定 iconv 在系统里的路径,否则会扫描默认路径

#--enable-short-tags 让php支持短标签

#--enable-sockets  打开 sockets 支持

#--enable-zend-multibyte  支持zend的多字节

#--enable-soap  soap扩展主要用来处理RPC形式的Web services

#--enable-mbstring 多字节,字符串的支持

#--enable-static  生成静态链接库

#--enable-gd-native-ttf 支持TrueType字符串函数库

#--with-curl 打开curl浏览工具的支持

#--enable-memcache 为PHP扩展安装memcache模块

#--with-xsl  打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件

#--enable-ftp 打开ftp的支持

#--with-libxml-dir 打开libxml2库的支持

四、修改apache配置文件使之能够加载php文件

vi /application/apache/conf/httpd.conf +100

serverName 192.168.1.204:80 #这里应该是域名的但是指定域名咱们还要指定本地hosts文件,麻烦,这里就指定了你自己的本地IP加80端口了

vi /application/apache/conf/httpd.conf +311

AddType application/x-httpd-php .php .phtml  #加上这两句话

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

vi /application/apache/conf/httpd.conf +168

DirectoryIndex index.php index.html #index.php是后加的,是默认先优先调用index.php文件

/application/apache/bin/apachectl start #启动apache
lsof -i :80  #查看端口是否启动
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   5866   root    4u  IPv6 387783      0t0  TCP *:http (LISTEN)
httpd   5869 daemon    4u  IPv6 387783      0t0  TCP *:http (LISTEN)
httpd   5870 daemon    4u  IPv6 387783      0t0  TCP *:http (LISTEN)
httpd   5871 daemon    4u  IPv6 387783      0t0  TCP *:http (LISTEN)

vi /application/apache/htdocs/index.php #编写一个调用php的测试脚本
<?php
phpinfo();

vi /application/apache2.2.29/htdocs/testmysql.php #编写一个调用mysql的测试脚本
<?php
$link=MySQL_connect(‘localhost‘,‘root‘,‘123456‘);
if(!$link) echo "Error !";
else echo "Ok!";
MySQL_close();

下面我们用两幅截图来查看一下效果:

至此我们简单的一个lamp环境搭建完毕,接下来系列2是围绕优化方面写!

原创博文来自:www.51niux.com  博主:忙碌的柴少

时间: 2024-08-08 21:59:42

Centos 6.4 搭建lamp环境(系列1)的相关文章

CentOS下快速搭建LAMP环境

LAMP --  Linux Apache MySQL PHP 在CentOS安装的顺序,我一般是Apache -> MySQL -> PHP 第一步.安装并配置Apache 1.使用yum安装 yum install httpd 2.修改防火墙配置,打开80端口,可以顺便把MySQL的3306端口也打开 vi /etc/sysconfig/iptables 添加两条记录 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACC

CentOS 7.0 搭建LAMP环境

一.apache.php.mysql安装 安装顺序:apache/mysql    最后安装php   前两者顺序无所谓. 1.安装apache 需要服务器联网 安装:yum install -y httpd 运行:/bin/systemctl start httpd.service 执行完运行命令之后是看不到效果的,这时候再输入查看apache服务状态命令来查看服务是否已经启动: 查看状态:service httpd status Apache开启服务:systemctl start http

CentOS 6下搭建LAMP环境

第一步,使用Xshell管理工具连接远程服务器 第二步,输入服务器账号密码登录远程服务器 如果centos内置的yum源可用的软件偏少或者版本过低,请更新! 首先备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份) cd /etc/y

在CentOS 7上搭建lamp环境

在CentOS 7上安装httpd.php.MariaDB,ServerIP 192.168.199.157 首先安装相关程序包 2.启动httpd和mariadb 3.查看各服务启动情况 80端口和3306端口都处于监听状态了 4.测试php (1)编辑/etc/httpd/conf/httpd.conf文件,在DirectoryIndex后面填写index.php,定义默认主页为index.php. (2)检查配置文件是否有语法错误. (3)制作默认主页index.php. (4)重载htt

CentOS linux系统搭建LAMP环境

准备工作: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #允许3306端口通过防火墙 将以上内容添加到 -A INPUT -m state –state NEW -m t

CentOS搭建LAMP环境

最近准备安装roundcube,需要先搭建一个 LAMP 运行环境,从网上搜索了一下,有不少资料.自己也按部就班安装了一遍,把过程整理了下来.     LAMP 是Linux, Apache, MySQL, PHP 的首字母缩写,也就是在一台 CentOS5.3 服务器上安装带有PHP5 和 Mysql 支持 Apache 的网站服务器.         1. 假设你已经有一台安装了 Linux 系统的服务器,系统可以使 CentOS5.3 ,也可以是 Ubuntu 9.04 .这次是用 Cen

CentOS下搭建LAMP环境详解

前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS 6.5,32位. CentOS安装 我选取了32位的CentOS 6.5这个Linux系统,安装过程也很简单,不再过多叙述,只稍微介绍一下我的分区情况: 分区名  大小 /boot  200MB /swap  2GB(不大于物理分区即可) /  20GB /home 剩余空间 Apache编译安装

CentOS 7环境下搭建LAMP环境

参考百度经验,有小修改(http://jingyan.baidu.com/article/870c6fc31218e8b03fe4be16.html) 搭建LAMP环境 linux + apache + mysql + php (参考百度教程:http://jingyan.baidu.com/article/870c6fc31218e8b03fe4be16.html) 实验环境:默认关闭防火墙 和 SELinux ==================以下为具体实验步骤==============

ubuntu server 14.04 LTS下搭建LAMP环境之最详细笔记之一U盘安装双系统

前言: 一直在WIN上使用PHP,不喜欢用WAMP,每次都是手动在windows配置环境,偶尔有一次装了小红帽玩了两天,感觉不是很习惯就换了回来,过了没几天见讨论LAMP环境,于是安装了ubuntu的desktop版本.安装好了环境使用了一下感觉也没有多大的意思,因为那一段时间没有怎么使用PHP,就这样又忽略掉了这一次学习的机会,直到上周日朋友最近在学习这方面的知识,说是要将一个老式电脑安装一个linux来玩玩.本文原创博客地址:http://www.cnblogs.com/unofficial