Linux进阶之路——LAMP架构搭建及常见问题

    xiaoxiao2025-10-18  4

    LAMP是“Linux”“Apache”“Mysql”“php”的简写,就是把Apache,mysql及php安装在Linux系统上,组成一个环境来运行PHP的脚本语言。Apache是最常用的web服务软件,mysql也是比较小型的数据库软件。下面就开始搭建LAMP环境,LAMP搭建环境有一定的要求,一定要最后搭建PHP。

    一、搭建mysql

    mysql最好安装二进制免编译包。这个软件是区分平台的,可以在Linux系统中通过`#uname -i`来查看你的Linux是多少位的。5.5之前的版本安装方法和5.5之后版本的安装方法还有点差异。下面先介绍5.5版本之前的安装方法。

    (1)5.5版本之前的安装

    首先下载免编译的二进制包 #cd/usr/local/src #wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.gz 然后将下载下来的免编译二进制包解压并移动到指定位置,方便以后运维。 #tar -zxvf mysql-5.1.73-linux-x86_64-glibc23.tar.gz #mv mysql-5.1.73-linux-x86_64-glibc23 /usr/local/mysql 接下来就是,建立mysql的用户,创建数据库的存储目录,然后初始化数据库。 #useradd -s /sbin/nologin mysql#mysql用户为不可登录用户 #mkdir -p /data/mysql #cd /usr/local/mysql #chown -R mysql:mysql /data/mysql #./scripts/mysql_install_db --user=mysql --datadir=/data/mysql 出现两个“ok”则说明初始化成功。 初始化成功之后开始配置mysql,修改它的配置文件,并增加它的启动脚本。 #cp support-files/my-large.cnf /etc/my.cnf  #cp support-files/mysql.server /etc/init.d/mysqld #chmod 755 /etc/init.d/mysqld #vi /etc/init.d/mysqld#修改其中的“basedir”和“datadir” #chkconfig --add mysqld  #chkconfig mysqld on #设置成开机启动 #service mysqld start (2)5.5版本之后的搭建 首先下载源码包 #cd /usr/local/src #wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.32.tar.gz 解压然后安装必需的环境 #tar -zxvf mysql-5.6.32.tar.gz #cd mysql-5.6.32 #yum install -y cmake bison ncurses-devel gcc* 接下来配置编译参数,然后编译安装 #cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci #make #make install 安装完成,建立mysql用户和数据库目录,并进行数据库初始化。 #useradd -s /sbin/nologin mysql #cd /usr/local/mysql #mkdir -p /data/mysql #chown -R mysql:mysql /data/mysql #./scripts/mysql_install_db --user=mysql --datadir=/data/mysql 出现2个OK说明初始化成功 初始化成功之后,就需要配置mysql的配置文件和它的启动脚本。 #cp support-files/my-large.cnf /etc/my.cnf #cp support-files/mysql.server /etc/init.d/mysqld #chmod 755 /etc/init.d/mysqld  #vi /etc/init.d/mysqld修改其中的“basedir=/usr/local/mysql”和“datadir=/data/mysql” #service mysqld start 注意:如有报错,请查看/data/mysql/localhost.localdomain.err里面的报错信息。 把mysql进程加入开机启动 #chkconfig --add mysqld  #chkconfig mysqld on 二、搭建apache 这里的apache其实就是httpd,httpd的版本也有所差异。 (1)httpd2.4版本之前安装 首先下载源码包,并解压。 #cd /usr/local/src #wget http://mirrors.sohu.com/apache/httpd-2.2.31.tar.gz #tar -zxvf httpd-2.2.31.tar.gz 解压过后进行编译,但在编译之前安装所需的gcc等必需环境。 #cd httpd-2.2.31 #yum install -y gcc* zlib-devel pcre pcre-devel apr apr-devel  配置编译参数,如果你想更改apache的工作模式(prefork,worker,event),就加上参数--with-mpm=worker/prefork/event。2.4版本开始httpd默认是event工作模式。 #./configure \ --prefix=/usr/local/apache \ --with-included-apr \ --enable-so \ --enable-deflate=shared \ --enable-expires=shared \ --enable-rewrite=shared \ --with-pcre 开始编译并安装 #make #make install (2)httpd2.4版本搭建 centos6 yum安装的apr版本已经不适用httpd-2.4版本了,所以需要源码编译apr以及apr-util #cd /usr/local/src #wget http://mirrors.sohu.com/apache/httpd-2.4.20.tar.gz #wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.5.4.tar.gz #wget http://mirrors.cnnic.cn/apache/apr/apr-1.5.2.tar.bz2 安装apr #tar -jxvf apr-1.5.2.tar.bz2 #cd apr-1.5.2 #./configure --prefix=/usr/local/apr #make #make install 安装apr-util   #cd /usr/local/src #tar -zxvf apr-util-1.5.4.tar.gz #cd apr-util-1.5.4 #./configure --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr/ #make #make install 安装httpd,先安装必需的环境 #cd /usr/local/src #tar -zxvf httpd-2.4.20.tar.gz #cd httpd-2.4.20 #yum install -y zlib-devel pcre pcre-devel apr apr-devel gcc* #./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --with-pcre #make #make install  请注意2.4版本可能不适合以下配置apache文件的操作 三、搭建php php的搭建放在最后,因为在编译php的时候需要指定mysql以及apache的路径。php可以选择比较稳定的版本5.4左右的。 下载php源码包 #cd /usr/local/src #wget http://mirrors.sohu.com/php/php-5.4.28.tar.gz 解压源码包,下载编译必需的环境 #tar -zxvf php-5.4.28.tar.gz #cd php-5.4.28 #yum install -y libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel libjpeg libjpeg-devel #yum install -y epel-release #yum install -y libmcrypt-devel 配置编译参数,并编译和安装 #./configure \ --prefix=/usr/local/php \ --with-apxs2=/usr/local/apache/bin/apxs \ --with-config-file-path=/usr/local/php/etc \ --with-mysql=/usr/local/mysql \ --with-libxml-dir \ --with-gd \ --with-jpeg-dir \ --with-png-dir \ --with-freetype-dir \ --with-iconv-dir \ --with-zlib-dir \ --with-bz2 \ --with-openssl \ --with-mcrypt \ --enable-soap \ --enable-gd-native-ttf \ --enable-mbstring \ --enable-sockets \ --enable-exif \ --disable-ipv6 #make #make install 安装完成之后,php只用拷贝配置文件。 #cp php.ini-production /usr/local/php/etc/php.ini 四、配置apache文件让php能够解析 先修改apache配置文件 #vi /usr/local/apache/conf/httpd.conf 找到“<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny form all </Directory>” 改为“ <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Allow form all </Directory>修改这个是为了不出现网站禁止访问的现象 找到“AddType application/x-gzip.gz.tgz” 在该行下面添加“ AddType application/x-httpd-php .php增加这个是为了支持php脚本解析 找到“<IfModule dir_module> DirectoryIndex index.html </IfModule>” 改为“ <IfModule dir_module> DirectoryIndex index.html index.htm index.php </IfModule> 增加这个是为了针对php的索引,如果一个站点默认页为index.php,那么就需要加上这个index.php的支持。 找到“#ServerName www.example.com:80” 改为“ ServerName localhost:80配置完成之后需要检查配置文件是否有语法错误 #/usr/local/apache/bin/apachectl -t 显示Syntax OK 说明配置没有问题 启动apache #/usr/local/apache/bin/apachectl start 写一个测试php是否解析的php脚本,一定要放在htdocs这个目录下 # vi /usr/local/apache/htdocs/1.php <?php echo "php works."; ?> 接下来就可以用浏览器通过http://IP/1.php查看php是否解析成功。 至此,LAMP环境搭载完成,接下来就是LAMP环境的各种优化了,请关注下一篇博客。
    转载请注明原文地址: https://ju.6miu.com/read-1303265.html
    最新回复(0)