当前位置:首页 > Java技术 > 【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7)

【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7)

2022年08月05日 22:45:46Java技术4

一、前言

  LAMP即:Linux、Apache、Mysql、Php,也就是在linux系统下运行php网站代码,使用的数据库是mysql、web服务软件是apache。之所以存在LAMP这种说法,倒不是一定要如此搭配方行,只是mysql、apache比较常用而且免费,所以linux下的php网站就使用LAMP这样的搭配。

二、环境准备

  1、centos7,我使用的是centos7(64位)最小系统,ISO包上官网下载即可,找不到官网的到下面链接中随便下一个就可以了

    http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso

  2、apache,稍后使用yum安装最新版即可

  3、mysql,当前最新版是mysql8.0了,需要到官网下载yum源而后通过yum源安装即可(文末附下载链接),也可以直接用wget获取(后续有)

  4、php,稍后使用yum安装最新版即可

三、centos准备

  首先我们要让centos准备好环境,很多童鞋看网上随便找来的教程整了半天就是不能正常运行,常见原因就是漏了这一步。

  1、关闭防火墙

[root@localhost ~]# systemctl stop firewalld.service

  使防火墙开机不启动(避免系统重启后防火墙又生效)
[root@localhost ~]# systemctl disable firewalld.service

  2、关闭selinux

[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled

  修改selinux配置文件使其开机不启动

[root@localhost ~]# vi /etc/sysconfig/selinux

  //将“SELINUX=enforcing”修改为“SELINUX=disabled”

【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7) _ JavaClub全栈架构师技术笔记

  关闭防火墙和selinux后centos就准备好了,因为是测试环境嘛,所以这两个都关闭了,如果在生产环境可别直接关了,还是要设置下的。

四、安装apache

  apache安装非常简单,使用下面的指令即可

[root@localhost ~]# yum install -y httpd

  安装好以后需要修改下配置文件使apache支持php

[root@localhost ~]# vi /etc/httpd/conf/httpd.conf

  //在“DirectoryIndex index.html”后面添加“index.php”

 【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7) _ JavaClub全栈架构师技术笔记

  //在“AddType application/x-gzip .gz .tgz”后面添加一行“AddType application/x-httpd-php .ph”

【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7) _ JavaClub全栈架构师技术笔记

  //最后启动apache

[root@localhost ~]# systemctl start httpd

  注意:有些童鞋可能会遇到apache莫名其妙就自己挂了,可能是你内存不够,增加点虚拟内存即可

  至此apache就安装和准备好了

五、安装mysql

  1、将前面说到的mysql yum安装源(文末附下载链接)放到centos任意目录,直接使用yum安装。

  //也可以使用wget获取该rpm包

[root@localhost ~]# wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

  //安装yum源

[root@localhost ~]# yum -y install mysql80-community-release-el7-3.noarch.rpm

  //使用yum安装mysql

[root@localhost ~]# yum -y install mysql-community-server

  注意:一般来说你会发现mysql-community-server-8.0.16-2.el7.x86_64.rpm这个包下载会很慢,所以这里我们提供百度云盘直接下载这个包(文末附下载)。将下载好的rpm包放入目录“/var/cache/yum/x86_64/7/mysql80-community/packages/”(不同系统可能不一样,你可以搜索mysql80-community找到目录位置),再次执行安装指令即可。

  2、配置mysql

  //启动mysql

[root@localhost ~]# systemctl start mysqld.service

  //检查一下运行状态

[root@localhost ~]# systemctl status mysqld.service

【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7) _ JavaClub全栈架构师技术笔记

  注意:对于一些新手,可能会遇到mysql莫名其妙就自己关闭的情况,可能是你的内存不够啦。linux内存不足的情况会自动关闭一些占用内存较多的应用,所以物理内存确实不足的情况可以增加点虚拟内存。

   //获取默认密码(mysql8.0自带默认密码,必须使用默认密码登录后方可修改密码)

[root@localhost ~]# grep "password" /var/log/mysqld.log

【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7) _ JavaClub全栈架构师技术笔记

  我这里的默认密码是“;>HGA4LKdjlj”

  //使用默认密码进入数据库

[root@localhost ~]# mysql -u root -p

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@123456';

Query OK, 0 rows affected (0.01 sec)

  注意:进入mysql后每条指令后必须加分号“;”,否则指令不会执行

  注意:mysql8.0要求密码必须有一定复杂度,必须包含大小写字母、数字、特殊字符,长度也不能太短,这里我配置的密码就是Root@123456

  注意:'root'@'localhost'含义是使用本地登录的root用户(一般建议本机登录和远程登录用户名、密码不要一样),如果要从外部设备访问root用户还需要做下面的设置

  //设置root远程访问(如果不从外部访问就不用此配置)

mysql> create user 'root'@'%' identified by 'Root@123456';
Query OK, 0 rows affected (0.01 sec)

  //为远程root用户分配访问权限

mysql> grant all on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.00 sec)

  注意:此处很多老的教程使用指令“grant all privileges on *.* to 'root'@'%' identified by 'Root@123456' with grant option;”,但是会报错“ERROR 1064 (42000): You have an error in your SQL syntax;check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'Root@123456'' at line 1”

  原因是老版本使用权限修改指令可以自动创建用户(需要注意“root@%”与"root@localhost"是两个用户,便于使用不同密码),而新版本需要手动创建用户,然后向其分配权限

  注意: *.* 表明所有数据库的所有表,可以通过此设置限制用户的访问(如new.abc就是new数据库的abc表)

  //更新权限表使配置生效

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

  //退出数据库

mysql> exit;
Bye

  //修改字符编码为utf-8(中文世界一般使用utf-8编码防止中文乱码)

[root@localhost ~]# vi /etc/my.cnf

  //在[mysqld]前面添加:

[client]
default-character-set=utf8

【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7) _ JavaClub全栈架构师技术笔记

  //在文件末尾添加:

character-set-server=utf8
collation-server=utf8_general_ci

 【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7) _ JavaClub全栈架构师技术笔记

  //保存后重启数据库即可

[root@localhost ~]# systemctl restart mysqld.service

  至此,数据库安装完毕,而且我们分别设置了本地登录和远程登录的密码。

六、安装php

  php安装非常简单,下面两个指令分别安装了php、php-mysql支持包、php常用扩展包:

[root@localhost ~]# yum install -y php php-mysql

[root@localhost ~]# yum install -y php-gd  php-xml  php-process php-mbstring php-bcmath

七、测试

  到apache网站代码目录中新建index.php文件

[root@localhost ~]# vi /var/www/html/index.php

  并输入下面的代码(此段代码的作用是输出php的信息):

<?php phpinfo(); ?>

  保存后就可以试试访问你新建的网站了

【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7) _ JavaClub全栈架构师技术笔记

八、更多资料

  除了前面说的mysql安装相关的两个rpm文件,我们还准备了一些LAMP调优相关资料,关注公众号“零基础爱学习”回复“LAMP”即可获取:

  1、mysql80-community-release-el7-3.noarch.rpm(mysql官方源)

  2、mysql-community-server-8.0.16-2.el7.x86_64.rpm(mysql主包)

    放入目录“/var/cache/yum/x86_64/7/mysql80-community/packages/”(不同系统可能不一样,你可以搜索mysql80-community找到目录位置)

  3、LAMP优化入门

  4、Centos7防火墙配置手册

  5、php-mysql 连接方式

 【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7) _ JavaClub全栈架构师技术笔记

作者:布兰姥爷
来源链接:https://www.cnblogs.com/cation/p/11186355.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/17952.html

分享给朋友:

“【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7)” 的相关文章

MySQL面试有这一篇就够了

MySQL面试有这一篇就够了

MySQL面试常见知识点 1、 MySQL常用的存储引擎有什么?它们有什么区别? InnoDB InnoDB是MySQL的默认存储引擎,支持事务、行锁和外键等操作。 MyISAM MyISAM是M...

MySQL表的增删改查(进阶)

MySQL表的增删改查(进阶)

数据库的约束 约束类型 NOT NULL UNIQUE DEFAULT PRIMARY...

MySQL数据库(基础)

MySQL数据库(基础)

目录 1. 数据库概念 1.1 数据库是干嘛的? 1.2 数据库和数据结构是啥关系? ​1.3 两种类型的数据库 2. MySQL数据库 2.1 MySQL数据库概念 2.2 MySQL基本操作  2.2.1 建立...

MYSQL的存储过程

MYSQL的存储过程 概述 什么是存储过程? mysql5.0版本开始支持存储过程; 简单的说,存储过程就是一组sql语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于java语言中的方法; 存储过程就是数据库s...

MySQL安装之yum安装

MySQL安装之yum安装

 在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 1. 下载并安装MySQL官方的 Yum Repository [root@Bria...

Linux (centos8)安装 MySQL 8 数据库(图文详细教程)

Linux (centos8)安装 MySQL 8 数据库(图文详细教程)

我的公众号 今天2021年4月23日。我买了阿里云centos服务器,安装mysql8.0,做一笔记,以供大家使用。 本教程手把手教你如何在 Linux 安装 MySQL 数据库,以 CentOS 8为例。 1. 下载并...

性能优化|深入理解mysql索引数据结构与算法

性能优化|深入理解mysql索引数据结构与算法

什么是索引? 在mysql中,索引就是帮助mysql快速找到某条数据的一种数据结构,它是排好序的,独立于mysql表数据之外的。 索引数据结构分为哪几种 二叉树、红黑树、Hash表、B树。 在这里我们主要介绍hash表和B树...

性能优化|Mysql优化之Explain精讲

性能优化|Mysql优化之Explain精讲

Explain详解 本次测试使用的数据库版本为5.7 初始化sql语句: CREATE TABLE `film` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(10) D...

mysql之基础查询

mysql之基础查询

文章目录 DQL语言的学习 进阶1:基础查询 1.查询表中的单个字段 2.查询表中的多个字段 3.查询表中的所有字段 4.查询常量值...

cloudera-scm-server启动出现Error creating bean with name 'entityManagerFactoryBean'与HHH010003: JDBC Driver class not found: com.mysql.jdbc.Driver错误解决办法(图文详解)

cloudera-scm-server启动出现Error creating bean with name 'entityManagerFactoryBean'与HHH010003: JDBC Driver class not found: com.mysql.jdbc.Driver错误解决办法(图文详解)

     不多说,直接上干货!       问题详情 2017-07-31 22:19:40,342 INFO main:com.cloudera.server.cmf.Main: Starting SCM Serv...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。