Centos7构建LAMP平台

Posted 还行少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7构建LAMP平台相关的知识,希望对你有一定的参考价值。


前言

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境


一、LAMP概述

  • L :Linux 提供操作系统支持/提供一个环境支持

  • A :Apache 提供的是静态页面请求

  • Mmysql 持久化保存数据/状态信息

  • Pphp 处理动态页面请求

二、构建LAMP平台

1.linux版本

[root@localhost ~]# cat /etc/centos-release    //查看发行版本
CentOS Linux release 7.6.1810 (Core) 
[root@localhost ~]# uname -a     //查看内核版本
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# 

2.Apache编译安装

2.1 判断httpd服务是否已存在(端口被占用)

[root@localhost ~]# netstat -anpt | grep httpd   
[root@localhost ~]# netstat -anpt | grep 80
[root@localhost ~]# rpm -q httpd
未安装软件包 httpd 

2.2 源码编译及安装

[root@localhost opt]# ls     //apr*为httpd2.4之后所需插件
apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2  rh

解压并将其放至srclib目录下

[root@localhost opt]# tar xf apr-1.6.2.tar.gz
[root@localhost opt]# tar xf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar xf httpd-2.4.29.tar.bz2
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@localhost opt]# 

指定安装目录,启用字符集支持

[root@localhost opt]# cd /opt/httpd-2.4.29/     //切换到解压目录下
[root@localhost httpd-2.4.29]# ./configure \\     
> --prefix=/usr/local/httpd \\                //指定 httpd 服务程序的安装路径
> --enable-so \\                              //启用动态加载核心模块支持,使 httpd 具备进一步扩展功能的能力
> --enable-rewrite \\                        //启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
> --enable-charset-lite \\                   //启动字符集支持,以便支持使用各种字符集编码的页面
> --enable-cgi                             //启用CGI(通用网关接口)脚本程序支持,便于增强网站的外部扩展应用访问能力

无报错即为成功
在这里插入图片描述

编译和安装

[root@localhost httpd-2.4.29]# make && make install

无报错即为成功
在这里插入图片描述

2.3 优化管理

优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别

[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

添加httpd系统服务

[root@localhost ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd   //复制控制脚本
[root@localhost ~]# vim /etc/init.d/httpd   //添加以下两项


# chkconfig: 35 85 21  //35级别自动运行  第85个启动 第21个关闭
# description: Apache is a World Wide Web server
[root@localhost ~]# chkconfig --add httpd  //将httpd加入到系统管理器

检查语法

[root@localhost ~]# httpd -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Syntax OK

2.4 启动服务

[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl status httpd
● httpd.service - SYSV: Apache is a World Wide Web server
   Loaded: loaded (/etc/rc.d/init.d/httpd; bad; vendor preset: disabled)
   Active: active (exited) since 六 2021-06-19 14:10:15 CST; 5s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 48038 ExecStart=/etc/rc.d/init.d/httpd start (code=exited, status=0/SUCCESS)

6月 19 14:10:15 localhost.localdomain systemd[1]: Starting SYSV: Apache is a World Wide Web server...
6月 19 14:10:15 localhost.localdomain httpd[48038]: AH00558: httpd: Could not reliably determine the server's full...sage
6月 19 14:10:15 localhost.localdomain httpd[48038]: httpd (pid 47947) already running
6月 19 14:10:15 localhost.localdomain systemd[1]: Started SYSV: Apache is a World Wide Web server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# netstat -antp | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      47947/httpd         
[root@localhost ~]# 

2.5 浏览网页

在这里插入图片描述

3.MySQL编译安装

3.1 判断mysql服务是否存在

[root@localhost ~]# rpm -q mysql-sqlserver mysql
未安装软件包 mysql-sqlserver 
未安装软件包 mysql 
[root@localhost ~]# 

3.2源码编译及安装

在这里插入图片描述
解压并进入解压后的源码目录

[root@localhost opt]# tar xzf mysql-5.6.26.tar.gz
[root@localhost opt]# cd mysql-5.6.26/
[root@localhost mysql-5.6.26]# 

指定安装目录,启用字符集支持

[root@localhost mysql-5.6.26]# cmake  \\
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \\	   //指定安装路径
> -DDEFAULT_CHARSET=utf8 \\						//指定默认使用的字符集编码,如 utf-8
> -DDEFAULT_COLLATION=utf8_general_ci \\			//指定默认使用的字符集校对规则
> -DEXTRA_CHARSETS=all \\							//指定支持其他字符集编码
> -DSYSCONFIDIR=/etc \\							///etc/mysql --->系统中有一个默认的配置/etc/my.cnf
> -DMYSQL_DATADIR=/home/mysql/ \\					//数据文件
> -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock		//指定连接数据库的通讯文件(启动数据库的时候会生成)

无报错即为成功
在这里插入图片描述
编译及安装

[root@localhost mysql-5.6.26]# make  && make install

无报错即为成功
在这里插入图片描述

3.3 创建普通用户管理mysql

[root@localhost mysql-5.6.26]# useradd -s /sbin/nologin mysql
[root@localhost mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/
[root@localhost mysql-5.6.26]# chown mysql:mysql /etc/my.cnf

3.4 优化管理

[root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@localhost mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld  
[root@localhost mysql-5.6.26]# chmod 755 /etc/init.d/mysqld   //赋权       
[root@localhost mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld //加入到系统服务
[root@localhost mysql-5.6.26]# chkconfig  mysqld --level 35 on   //开机自启
[root@localhost mysql-5.6.26]# useradd -s /sbin/nologin mysql  //创建管理用户
[root@localhost mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/   //递归更改属主属组
[root@localhost mysql-5.6.26]# chown mysql:mysql /etc/my.cnf   //更改属主属组
[root@localhost mysql-5.6.26]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile  //添加环境变量
[root@localhost mysql-5.6.26]# source /etc/profile   //刷新环境变量

3.5 初始化数据库

[root@localhost mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --ldata=/var/lib/mysql --basedir=/usr/local/mysql --datadir=/home/mysql

无报错即为成功
在这里插入图片描述

3.6 修改配置文件

[root@localhost mysql-5.6.26]# vi  /etc/init.d/mysqld

在这里插入图片描述

3.7 启动服务

[root@localhost mysql-5.6.26]# systemctl start mysqld
Warning: mysqld.service changed on disk. Run 'systemctl daemon-reload' to reload units.
[root@localhost mysql-5.6.26]# systemctl status mysqld
● mysqld.service - LSB: start and stop MySQL
   Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
   Active: active (running) since 六 2021-06-19 15:37:07 CST; 12s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 122596 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/SUCCESS)
    Tasks: 22
   CGroup: /system.slice/mysqld.service
           ├─122601 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/home/mysql --pid-file=/home/mysql/localhost.loc...
           └─122716 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/home/mysql --plugin-dir=/usr/loca...

6月 19 15:37:06 localhost.localdomain systemd[1]: Starting LSB: start and stop MySQL...
6月 19 15:37:07 localhost.localdomain mysqld[122596]: Starting MySQL. SUCCESS!
6月 19 15:37:07 localhost.localdomain systemd[1]: Started LSB: start and stop MySQL.
Warning: mysqld.service changed on disk. Run 'systemctl daemon-reload' to reload units.
[root@localhost mysql-5.6.26]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \\g.
Your MySQL connection id is 1
Server version: 5.6.26 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.

mysql> 

4.PHP编译安装

4.1 安装所需要的环境

[root@localhost ~]# yum -y install gd libpng libpng-devel pcre pcre-devel libxml2-devel

4.2 源码编译及安装

解压并进入解压后的源码目录

[root@localhost opt]# tar xjf php-5.6.11.tar.bz2
[root@localhost opt]# cd php-5.6.11
[root@localhost php-5.6.11]# 

指定安装路径及其他功能

[root@localhost php-5.6.11]# ./configure \\
> --prefix=/usr/local/php5 \\   					//指定安装路径
--with-gd \\							        //激活gd 库的支持
--with-zlib \\										//支持zlib功能,提供数据压缩功能的函式库
--with-apxs2=/usr/local/httpd/bin/apxs \\	//指定httpd服务提供的apxs模块支持程序的文件位置
--with-mysql=/usr/local/mysql \\						//关联数据库					
--with-config-file-path=/usr/local/php5 \\			//指定配置文件
--enable-mbstring 									//启用多字节字符串功能,以便支持中文等代码

无报错即为成功
在这里插入图片描述
编译及安装

[root@localhost php-5.6.11]# make && make install

在这里插入图片描述

4.3 优化管理

把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别

[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/

4.4 修改配置文件

修改Apache配置文件让Apache支持PHP

在这里插入图片描述
在这里插入图片描述
创建、编辑php页面文件

[root@localhost php-5.6.11]# cat /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
[root@localhost php-5.6.11]# 

4.5 重启apache服务观察现象

在这里插入图片描述

以上是关于Centos7构建LAMP平台的主要内容,如果未能解决你的问题,请参考以下文章

Centos7下搭建LAMP平台环境

Centos7下搭建LAMP平台环境

Centos7 Nginx+LAMP

快速构建LAMP网站平台

快速构建LAMP网站平台

Linux快速构建LAMP网站平台