HCRM博客

CentOS系统下LAMP环境编译安装指南

在CentOS操作系统上编译安装LAMP(Linux、Apache、MySQL/MariaDB、PHP)环境,可以提供更高的自由度和定制性,以下是详细的步骤指南:

CentOS系统下LAMP环境编译安装指南-图1

1、准备工作

CentOS系统下LAMP环境编译安装指南-图2
(图片来源网络,侵权删除)

关闭防火墙和SELinux:为了简化安装过程,可以先关闭系统的防火墙和SELinux。

     systemctl stop firewalld
     systemctl disable firewalld
     setenforce 0

安装基本的开发工具:确保安装了GCC编译器和其他必要的开发库。

     yum y install gcc gccc++ make autoconf openssldevel expatdevel

2、下载源码包

将所需的源码包下载到服务器的某个目录,例如/lamp

     mkdir /lamp
     cd /lamp
     wget http://archive.apache.org/dist/httpd/httpd2.4.37.tar.gz
     wget https://ftp.pcre.org/pub/pcre/pcre8.10.tar.gz
     wget https://downloads.mysql.com/archives/get/p/23/file/mysqlboost5.7.25.tar.gz
     wget https://www.php.net/distributions/php7.1.33.tar.gz
     wget https://www.openssl.org/source/openssl1.1.1i.tar.gz
     wget https://github.com/curl/curl/releases/download/curl7_74_0/curl7.74.0.tar.gz

3、编译安装依赖库

OpenSSL:首先编译并安装最新版本的OpenSSL。

CentOS系统下LAMP环境编译安装指南-图3
(图片来源网络,侵权删除)
     cd /lamp/openssl1.1.1i
     ./config shared prefix=/usr/local/openssl1.1.1i && make && make install
     ln s /usr/local/openssl1.1.1i/bin/openssl /usr/bin/openssl
     echo "/usr/local/openssl1.1.1i/lib" >> /etc/ld.so.conf
     /sbin/ldconfig

PCRE:编译并安装PCRE库。

     cd /lamp/pcre8.10
     ./configure prefix=/usr/local/pcre && make && make install

其他依赖库:根据需要编译和安装其他库,如libxml2、libmcrypt、zlib、libpng等。

4、编译安装Apache

解压源码包并配置

     cd /lamp
     tar zxvf httpd2.4.37.tar.gz C /usr/local/src/
     cd /usr/local/src/httpd2.4.37
     ./configure prefix=/usr/local/apache enableso enablerewrite enablecharsetlite enablecgi withpcre=/usr/local/pcre

编译和安装

     make j 4 && make install

创建系统服务脚本

     cp /usr/local/apache/bin/apachectl /etc/init.d/apachectl
     chmod +x /etc/init.d/apachectl
     vim /etc/init.d/apachectl

在文件开头添加以下行:

     #!/bin/bash
     # chkconfig: 35 85 21
     # description: Apache is a World Wide Web server

启动Apache服务

     chkconfig add apachectl
     service apachectl start

5、编译安装MySQL

解压源码包并配置

     cd /lamp
     tar xf mysqlboost5.7.25.tar.gz
     mv mysqlboost5.7.25 /usr/local/mysql
     cd /usr/local/mysql
     ./scripts/mysql_install_db user=mysql basedir=/usr/local/mysql datadir=/data/mysql

创建用户和组

     useradd M s /sbin/nologin mysql
     chown R mysql:mysql /usr/local/mysql /data/mysql /var/log/mysqld.log

配置MySQL服务

     vim /etc/my.cnf

添加以下内容:

     [client]
     port = 3306
     [mysqld]
     basedir = /usr/local/mysql
     datadir = /data/mysql
     log_error = /var/log/mysqld.log

启动MySQL服务

     chown R mysql:mysql /usr/local/mysql /data/mysql /var/log/mysqld.log
     /usr/local/mysql/supportfiles/mysql.server start

6、编译安装PHP

解压源码包并配置

     cd /lamp
     tar zxvf php7.1.33.tar.gz C /usr/local/src/
     cd /usr/local/src/php7.1.33
     ./configure prefix=/usr/local/php withopenssl=/usr/local/openssl1.1.1i withpcre=/usr/local/pcre withmysql=/usr/local/mysql withzlib withjpeg withpng enablembstring withcurl=/usr/local/curl7.74.0

编译和安装

     make j 4 && make install

配置Apache以使用PHP

     echo "LoadModule php7_module modules/libphp7.so" >> /usr/local/apache/conf/httpd.conf
     echo "AddType application/xhttpdphp .php" >> /usr/local/apache/conf/httpd.conf
     echo "AddType application/xhttpdphpsource .phps" >> /usr/local/apache/conf/httpd.conf

重启Apache服务

     service apachectl restart

在实际操作过程中,可能还会遇到一些问题,以下是一些常见问题及其解答:

Q&A

Q1: 编译时提示缺少某些库或头文件怎么办?

A1: 确保已经安装了所有必要的开发包,可以使用yum groupinstall "Development Tools"一次性安装多个常用开发包,如果仍然缺少某些库,可以尝试手动下载并安装这些库。

Q2: 如何更改Apache的默认运行用户?

A2: 在Apache配置文件中修改User和Group设置,然后重启Apache服务,在httpd.conf中添加:

User apache
Group apache

然后执行service apachectl restart

Q3: 如何优化MySQL的性能?

A3: 可以通过调整my.cnf中的参数来优化MySQL性能,例如增加缓冲区大小、调整连接数等,具体参数可以根据服务器硬件资源和应用需求进行调整。

Q4: PHP扩展模块如何安装?

A4: 在编译PHP时,可以通过withxxx选项指定要包含的扩展模块,要启用mbstring扩展,可以在配置命令中添加enablembstring,如果忘记添加,可以重新编译PHP并指定需要的扩展。

Q5: 如何备份和恢复数据库?

A5: 可以使用mysqldump工具备份数据库,使用mysql命令恢复数据库,备份数据库的命令为:mysqldump u root p database_name > backup.sql,恢复数据库的命令为:mysql u root p database_name < backup.sql

通过上述步骤,可以在CentOS操作系统上成功编译并安装LAMP环境,这一过程虽然复杂,但能够提供高度定制化的Web服务器环境,适合对性能和安全性有较高要求的应用场景。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/20469.html

分享:
扫描分享到社交APP
上一篇
下一篇