基于生产环境下的LAMP环境搭建与基础配置

     LAMP环境搭建与配置

  1. L 代表服务器操作系统使用Linux

  2. A 代表网站服务使用的是Apache软件基金会中的httpd的模块

  3. M 代表网站后台使用的数据库时MySQL数据库

  4. P 代表网站是使用PHP语言开发

基于生产环境下的LAMP环境搭建与基础配置

任务 1 安装 LAMP(Linux Apache Mysql Php),基础配置解析PHP

1.1 安装 MySQL

(1)下载源码包,建议提前下载到本地,在线安装很慢

#cd /usr/local/src         //软件包都放在此目录方便管理  或者  自定义位置   

wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz     

//在线安装免编译二进制包,小磊是在网易开源镜像站下载的

(2)解压

# tar –zxvf  mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz –C /usr/local/src

(3)安装和配置

# useradd -s /sbin/nologin mysql

//建立 MySQL用户,因为启动  MySQL需要该用户

# mkdir -p /data/mysql

//创建 datadir,数据库文件会放到这里面

# chown -R mysql:mysql /data/mysql

//更改权限,不更改后续操作就会出问题

# yum install -y perl-Module-Install*    //或者 perl*也OK              

//安装perl包依赖

# cd /usr/local/src/mysql-5.6.47-linux-glibc2.12-x86_64

//进入包对应目录

# yum install –y numactl        

//软件包和系统版本问题,缺少以上脚本依赖,所以需安装numactl模块

# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

//成功以后,如果出现2个OK则表示运行成功

//--user表示定义数据库的以哪个用户的身份运

//--datadir表示定义数据库的安装目录

#cp support-file/my-default.cnf /etc/my.cnf        →      y覆盖

#vi /etc/my.cnf

//修改配置文件                                 基于生产环境下的LAMP环境搭建与基础配置

#These are commonly set ,remove the # and set as required     

Basedir=/usr/local/scr/mysql-5.6.47-linux-glibc2.12-x86_64                 //basedir表示MySQL包所在路径

Datadir=/data/mysql/                         //表示定义存放数据的位置

Port=3306                                         //port表示定义  MySQL服务监听的端口号

Server_id=128                                  //表示该 MySQL服务的ID号,一般写成IP地址的第四节即可

socket = /tmp/mysql.sock                 //定义 MySQL服务监听的套接字地址

#cp support-files/mysql.server /etc/init.d/mysqld

//复制启动脚本文件并改名为mysqld

#chmod 755 /etc/init.d/mysqld

//修改启动脚本文件的属性

# vim /etc/init.d/mysqld

basedir=/usr/local/scr/mysql-5.6.47-linux-glibc2.12-x86_64

datadir=/data/mysql/

#chkconfig --add mysqld

//把 mysql服务加到系统服务列表中

#chkconfig mysqld on

//开机自启

#service mysql start

//启动服务

(4)安装并启动成功

基于生产环境下的LAMP环境搭建与基础配置

(5)查看服务,可通过以下所示命令查看mysqld服务:

[[email protected] ~]# ps -ef | grep mysqld

root      10829      1  0 20:38 pts/1    00:00:00 /bin/sh /usr/local/mysql/mysql-5.6.47-linux-glibc2.12-x86_64/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/gongfang.pid

mysql     11006  10829  0 20:38 pts/1    00:00:03 /usr/local/mysql/mysql-5.6.47-linux-glibc2.12-x86_64/bin/mysqld --basedir=/usr/local/mysql/mysql-5.6.47-linux-glibc2.12-x86_64 --datadir=/data/mysql --plugin-dir=/usr/local/mysql/mysql-5.6.47-linux-glibc2.12-x86_64/lib/plugin --user=mysql --log-error=gongfang.err --pid-file=/data/mysql/gongfang.pid --socket=/tmp/mysql.sock --port=3306

root      11069   9847  0 21:42 pts/1    00:00:00 grep --color=auto mysqld

[[email protected] ~]# netstat -ntplu | grep 3306

tcp6       0      0 :::3306                 :::*                    LISTEN      11006/mysqld

[[email protected] ~]# service mysqld status

 SUCCESS! MySQL running (11006)

 

(6)遇到的问题

基于生产环境下的LAMP环境搭建与基础配置

解决方法:将my_pring_defaults文件复制到/usr/bin的执行路径下:

基于生产环境下的LAMP环境搭建与基础配置

基于生产环境下的LAMP环境搭建与基础配置

 

cp /usr/local/src/mysql-5.6.47-linux-glibc2.12-x86_64/bin/my_print_defaults /usr/bin/

再次启动,结果又出现新问题,不过大同小异:

基于生产环境下的LAMP环境搭建与基础配置

解决方法:按照提示,将/usr/local/src/mysql-5.6.47-linux-glibc2.12-x86_64/mysqld_safe 复制到/usr/bin下:

cp /usr/local/src/mysql-5.6.47-linux-glibc2.12-x86_64/bin/mysqld_safe /usr/bin/

 

  1.2 安装 Apache

(1)下载 httpd-2.4.43.tar、apr-1.6.5.tar和apr-util-1.6.1.tar

  1. wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.43.tar.gz

  2. wget http://mirrors.hust.edu.cn/apache/apr/apr-1.6.5.tar.gz

  3. wget http://mirrors.hust.edu.cn/apache/apr/apr-util-1.6.1.tar.gz

(2)解压

#tar -zxvf http-2.4.43.tar.gz -C /usr/local/src

#tar -zxvf apr-1.6.5.tar.gz -C /usr/local/src

#tar -zxvf apr-util-1.6.1.tar.gz -C /usr/local/src

(3)安装和配置

  首先我们先来安装apr,这里apache的安装是由顺序之分的:

#cd /usr/local/src/apr-1.6.5

#yum install –y libtool*

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

#echo $?     //查看有没有报错,如果是0则没有,输出上一次的结果

#make &&make install

#cd /usr/local/src/apr-util-1.6.1

接着,再安装apr-util:

#yum install -y expat-devel

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

#make &&make install                                                     

#cd /usr/local/src/http-2.4.39

#yum install –y pcre pcre-devel    //安装正则表达库

编译解析configure文件:

#./configure \                                  //回车,反斜杠是脱义字符,加上它一行命令写成多行

--prefix=/usr/1ocal/apache2.4 \

--with-apr=/usr/local/apr \

--with-apr-util=/usr/local/apr-util \

--enable-so \

--enable-mods-shared=most

//--enable-so表示启用   DSO

//--enable -mods- shared表示以共享形式安装模块

最后来安装httpd:

#cd /usr/local/src

#cp -r apr-1.6.5 httpd-2.4.43/srclib/apr

#cp -r apr-util-1.6.1 httpd-2.4.43/srclib/apr-util

#cd httpd-2.4.43

#make -j4 && make install        //-j4表示安装时候多加4个线程,提速

//若make时候出错,解决了依赖后,可先make clean,再重新编译

#./configure --prefix=/usr/local/apache2.4 --enable-so --with-pcre --with-included-apr

--enable-modules=most --enable-mpms-shared=all –with-mpm=prefork

然后再 make && make install

(4)安装成功

//查看配置文件有哪些文件

#/usr/local/apache2.4/bin/apachectl –M         //查看加载的模块

//shared字样的动态共享模块,static以静态形式存在基于生产环境下的LAMP环境搭建与基础配置

 

1.3 安装 PHP

  PHP官网www.php.net

(1)下载资源包  php-5.6.39.tar.bz2                                                                            

(2)解压

#tar -jxvf php-5.6.39.tar.gz -C /usr/local/src/

(3)安装和配置

# yum install -y libxml2-devel

# yum install -y libpng libpng-devel

# yum install -y libmcrypt-devel                //先可以yum list lib*列出

基于生产环境下的LAMP环境搭建与基础配置

# yum install -y openssl openssl-devel

# yum install -y bzip2 bzip2-devel

# yum install -y freetype freetype-devel

# yum install -y epel-release               //为防止配置时出错提前安装库文件

基于生产环境下的LAMP环境搭建与基础配置

# cd/usr/local/php-5.6.39

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

--with-apxs2=/usr/local/apache2.4/bin/apxs

--with-config-file-path=/usr/local/php/etc

--with-mysql=/usr/local/src/mysql-5.6.47-linux-glibc2.12-x86_64

--with-png-dir --with-freetype-dir --with-openssl

--with-mcrypt --with-libxml-dir

--with-gd --with-jpeg-dir --with-bz2

--with-iconv-dir --with-zlib-dir

--enable-soap

--enable-gd-native-ttf

--enable-mbstring

--enable-sockets

--enable-exif

#make && make install

//编译安装

#/usr/local/apache2.4/bin/httpd –M

//若下面多了一条php5的模块,那就安装OK

同样可以查询php的相关信息:

#/usr/local/php/bin/php –i | less

#cat /usr/local/apache2.4/conf/httpd.conf

基于生产环境下的LAMP环境搭建与基础配置

可以看到,已经自动写入到配置文件中

拷贝配置文件用于生产环境:

#cd /usr/local/php-5.6.39

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

//php.ini-development:用于开发环境   php.ini.production:用于生产环境

(4)遇到的问题

基于生产环境下的LAMP环境搭建与基础配置

(5)解决方法:

 yum install –y libmcrypt libmcrypt-devel    //安装依赖库

 

1.4 httpd解析 PHP

#vim /usr/local/apache2.4/conf/httpd.conf    //apache主配置文件

1.搜索 ServerName,把 ServerName www.example.com:80前的#去掉;

2.搜索Require,将denied改为granted;

<Directory />

AllowOverride none

Require all denied

</Directory>

改成:

<Directory />

AllowOverride none

Require all granted

</Directory>       //目的允许所有请求访问

3.搜索 AddType  application/x-gzip   .gz   .tgz,在下面添加一行 AddType application/x-httpd-php .php

4.搜索IfModule dir_module

<IfModule dir_module>

DirectoryIndex index.html

</IfModule>

改成:

<IfModule dir_module>

DirectoryIndex index.html index.php

</IfModule>

(4)测试安装

①测试配置文件是否正确

#/usr/local/apache2.4/bin/apachectl -t

//检验配置文件是否正确:Syntax OK

#/usr/local/apache2.4/bin/apachectl start(graceful:重启)

//启动apache服务。若重启不成功,先kill -9杀死httpd相关进程

#netstat -ntplu |grep httpd

//查看是否启动

#curl localhost

<html><body><h1>It works!<h1><body><html>

//使用 curl命令简单测试,,显示了就是成功,也可以本地浏览器测试,修改本地hosts文件

②测试是否正确解析PHP

#vim /usr/local/apache2.4/htdocs/index.php

<?php

echo“php解析正确”

?>

//编写一个测试脚本

#curl localhost/index.php

php解析正确

//如显示此信息则 PHP解析正确

(5)安装并解析成功

基于生产环境下的LAMP环境搭建与基础配置

基于生产环境下的LAMP环境搭建与基础配置