HCRM博客

如何在CentOS系统编译安装LAMP环境?

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

1、准备工作

如何在CentOS系统编译安装LAMP环境?-图1
(图片来源网络,侵权删除)

关闭防火墙和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环境?-图2
(图片来源网络,侵权删除)
  • 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
上一篇
下一篇