CentOS 安装LAMP全过程 - 完整步骤与最佳实践

在开始搭建 LAMP 环境之前,需要确保系统已经满足以下条件:

1、操作系统:CentOS 7 或 CentOS 8

2、网络连接:系统必须能够访问互联网以下载所需的软件包

3、权限:需要 root 权限或者通过sudo 提权执行命令

先更新系统

sudo yum update y 

1. 配置基础CentOS 7

安装过程中需要选择一些基本的配置,如语言、时区、网络等。安装完成后,我们可以开始搭建LAMP环境。

2. 安装Apache

Apache是一种常用的Web服务器软件,我们可以使用yum命令来安装Apache。打开终端,输入以下命令:

sudo yum install httpd

安装完成后,我们可以启动Apache,并设置开机自启动:

sudo systemctl start httpd
sudo systemctl enable httpd

输入IP 显示如下页面表示安装成功

3. 安装Mariadb

Mariadb是一种常用的关系型数据库管理系统,我们可以使用yum命令来安装MySQL。打开终端,输入以下命令:

yum install mariadb-server y

安装完成后,我们可以启动MySQL,并设置开机自启动:

systemctl start mariadb
systemctl enable mariadb

4. 安装PHP及常用模块

PHP是一种常用的服务器端脚本语言,我们可以使用yum命令来安装PHP。打开终端,输入以下命令:

yum install php php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel -y

安装完成后,我们需要重启Apache服务使其支持PHP:

sudo systemctl restart httpd

验证 PHP 是否安装成功:

/var/www/html 目录下创建一个info.php 文件:

<?php
phpinfo();
?>

然后在浏览器中访问:

http://SERVER_IP/info.php

5. 配置虚拟主机

虚拟主机是一种将多个网站托管在同一台服务器上的技术,我们可以通过配置虚拟主机来实现在CentOS 7上同时运行多个网站。在Apache的配置文件中,我们可以为每个虚拟主机指定一个独立的配置文件。打开终端,输入以下命令创建一个新的虚拟主机配置文件:

sudo vi /etc/httpd/conf.d/example.com.conf

在配置文件中,我们可以指定虚拟主机的域名、网站目录、日志文件等信息。完成配置后,保存文件并重启Apache服务:

sudo systemctl restart httpd

6. 配置数据库

在搭建LAMP环境后,我们还需要配置数据库以支持网站的数据存储和访问。可以使用MySQL的命令行工具来创建数据库和用户,并为用户授权。打开终端,输入以下命令登录 MariaDB:

登录成功后,我们可以使用以下命令创建数据库和用户,并为用户授权:

#设置 MariaDB root 用户密码:
sudo grep 'temporary password' /var/log/mariadb/mariadb.log#获取临时密码后,执行以下命令来设置新密码:
mysql_secure_installation

完成数据库的配置后,我们可以在网站的代码中使用相应的数据库连接信息来访问数据库。

远程连接

mysql -u root -p
grant all privileges on *.* to 'root'@'%' identified by 'P@SSW0RD'  with grant option;
flush privileges;

#第一个 * ,表示被授权访问的库

#第二个 *, 表示库下的所有表

# '用户名'@'%'  用户名 表示授权用户,%表示任意的ip地址

#【identified by ‘密码’】  访问mysql的密码  如果想要设置免密码访问,这条可以去掉

整句命令的意思就是,允许在任何IP地址上用这个用户名和密码来访问这个mysql。

7、防火墙设置(可选)

如果服务器启用了防火墙,需要开放 HTTP(80端口)和 HTTPS(443端口):

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

8. 测试网站

我们可以通过浏览器来测试网站是否正常运行。在浏览器中输入虚拟主机的域名或IP地址,应该能够看到网站的首页。如果一切正常,那么恭喜你,你已经成功搭建了一个基于CentOS 7的LAMP环境!

在CentOS 7上搭建LAMP环境的步骤和注意事项。通过安装Apache、MySQL和PHP,配置虚拟主机和数据库,我们可以在CentOS 7上搭建一个完整的网站环境。希望对那些想要在CentOS 7上搭建网站的用户有所帮助。

配置Apache

编辑Apache配置文件,优化性能:

nano /etc/httpd/conf/httpd.conf

添加或修改以下行:

ServerName localhost
DirectoryIndex index.php index.html

Q1: 如何更改 Apache 默认根目录?

A1: 可以通过修改 Apache 配置文件来更改默认根目录,编辑/etc/httpd/conf/httpd.conf,找到DocumentRoot 并将其设置为你想要的目录,将其改为/var/www/myweb,然后重新启动 Apache:

systemctl restart httpd

    之后,你可以将你的网站文件放在/var/www/myweb 下。

    Q2: 如何进行虚拟主机配置?

    A2: 虚拟主机允许你在一台服务器上托管多个域名或子域名,你可以通过在/etc/httpd/conf.d/ 目录下创建一个新的配置文件来实现这一点,创建一个名为mydomain.conf 的文件:

    <VirtualHost *:80>
    ServerName www.mydomain.com
    DocumentRoot /var/www/mydomain
    ErrorLog /var/log/httpd/mydomainerror.log
    CustomLog /var/log/httpd/mydomainrequests.log combined
    </VirtualHost>

    记得将ServerName 和DocumentRoot 替换成你的域名和网站目录,然后重新启动 Apache:

    systemctl restart httpd

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/899393.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    Java基础关键_031_反射(一)

    目 录 一、概述 二、获取 Class 的四种方式 1.Class.forName("完整全限定类名") 2.getClass() 3.class 属性 4.通过类加载器获取 三、通过反射机制实例化对象 1.newInstance()&#xff08;已过时&#xff09; 2.配置文件利用反射机制实例化对象 四、反射 Cla…

    MySQL高级语句深度解析与应用实践

    一、窗口函数&#xff1a;数据分析的利器 1. 窗口函数基础概念 窗口函数(Window Function)是MySQL 8.0引入的强大特性&#xff0c;它可以在不减少行数的情况下对数据进行聚合计算和分析 SELECT employee_name,department,salary,RANK() OVER (PARTITION BY department ORDER…

    【机器学习基础 4】 Pandas库

    一、Pandas库简介 Pandas 是一个开源的 Python 数据分析库&#xff0c;主要用于数据清洗、处理、探索与分析。其核心数据结构是 Series&#xff08;一维数据&#xff09;和 DataFrame&#xff08;二维表格数据&#xff09;&#xff0c;可以让我们高效地操作结构化数据。Pandas …

    ETCD --- ​租约(Lease)​详解

    一、租约的核心概念 1. ​租约(Lease)​ 一个租约是一个有时间限制的“授权”,绑定到键值对上。每个租约有一个唯一的ID(64位整数),通过etcdctl或客户端API创建。创建租约时需指定TTL(Time-To-Live),即租约的有效期(单位:秒)。客户端需定期向etcd发送续约(KeepAl…

    33.[前端开发-JavaScript基础]Day10-常见事件-鼠标事件-键盘事件-定时器-案例

    1 window定时器 window定时器方法 setTimeout的使用 setInterval的使用 2 轮播消息提示 案例实战一 – 轮播消息提示 3 关闭隐藏消息 案例实战二 – 关闭隐藏消息 4 侧边栏展示 案例实战三 – 侧边栏展示 5 tab切换实现 案例实战四 – 登录框&#xff08;作业&#xff09;…

    react ant design树穿梭框实现搜索并展开到子节点、同级节点选择及同时选择数量限制功能

    功能点&#xff1a; 点击节点前的箭头&#xff0c;可以手动展开或折叠该节点的子节点。在搜索框中输入关键词&#xff0c;匹配的节点及其父节点会自动展开。清空搜索框后&#xff0c;恢复到用户手动控制的展开状态。勾选节点时仍然遵守 "最多勾选 6 个节点" 和 &quo…

    阿里云云效 Maven

    阿里云云效 Maven 官网&#xff1a;https://developer.aliyun.com/mvn/guide 阿里云Maven中央仓库为 阿里云云效 提供的公共代理仓库&#xff0c;帮助研发人员提高研发生产效率&#xff0c;使用阿里云Maven中央仓库作为下载源&#xff0c;速度更快更稳定。 阿里云云效 是企业…

    Go 语言标准库中Channels,Goroutines详细功能介绍与示例

    在 Go 语言中&#xff0c;Goroutines&#xff08;协程&#xff09;和 Channels&#xff08;通道&#xff09;是并发编程的核心组件。它们共同协作&#xff0c;简化了并发任务的管理和数据同步。以下通过详细示例说明它们的用法和常见模式。 1. Goroutines&#xff08;协程&…

    如何在 Postman 中正确设置 Session 以维持用户状态?

    在 Postman 里面设置有 session 的请求。如果你还不知道什么是 session&#xff0c;那么请看这里—— session 是一种记录客户端和服务器之间状态的机制&#xff0c;用于保持用户的登录状态或者其他数据&#xff0c;从而让用户在不同页面之间保持一致的体验。 Postman 设置带 …

    DQN与PPO在算法层面的核心区别

    DQN与PPO在算法层面的核心区别 1. 学习目标不同 DQN(基于价值): 核心:学习动作价值函数 Q ( s , a ) Q(s, a)

    Linux: 网络,arp的数量为什么会对交换机/路由器有性能的影响

    这个问题也是非常普遍的问题。比如最近比较火的一个OVS相关的问题: ARP request packets put high pressure on the pinctrl thread in ovn-controller 另一个在工作种也遇到了相似的问题,当一个网络里发了同时发了小一百个GARP之后,路由器的gateway就会有ARP处理延迟。 A…

    解析 HTML 网站架构规范

    2025/3/28 向全栈工程师迈进&#xff01; 一、网页基本的组成部分 网页的外观多种多样&#xff0c;但是除了全屏视频或游戏&#xff0c;或艺术作品页面&#xff0c;或只是结构不当的页面以外&#xff0c;都倾向于使用类似的标准组件。 1.1页眉 通常横跨于整个页面顶部有一…

    Golang 当中 byte 和 rune 类型的区别

    文章目录 Golang 当中 byte 和 rune 类型的区别类型定义与用途字符串处理差异内存占用典型引用场景 Golang 当中 byte 和 rune 类型的区别 在 Golang 中&#xff0c;rune 和 byte 类型的区别主要体现在字符处理的方式和编码支持上。 类型定义与用途 byte 类型 本质是 uint8…

    vue将页面导出成word

    方法一&#xff1a;使用 html-docx-js html-docx-js 是一个轻量级的库&#xff0c;可以将 HTML 转换为 Word 文档。 安装依赖 首先安装 html-docx-js&#xff1a; Bash深色版本 npm install html-docx-js --save创建导出逻辑 在 Vue 组件中实现导出功能的代码如下&#xff1…

    Three.js 快速入门教程【二十】3D模型加载优化实战:使用gltf-pipeline与Draco对模型进行压缩,提高加载速度和流畅性

    系列文章目录 Three.js 快速入门教程【一】开启你的 3D Web 开发之旅 Three.js 快速入门教程【二】透视投影相机 Three.js 快速入门教程【三】渲染器 Three.js 快速入门教程【四】三维坐标系 Three.js 快速入门教程【五】动画渲染循环 Three.js 快速入门教程【六】相机控件 Or…

    前端框架入门:Angular

    Angular 是由 Google 维护的前端框架,适用于构建单页应用(SPA)。它使用TypeScript 作为主要开发语言,并提供了强大的模块化、依赖注入(DI)、路由管理等特性。 一、Angular 基础 1. Angular 介绍 Angular 是一个组件化、模块化、双向数据绑定的前端框架,适用于构建复杂…

    基于51单片机的速度检测报警器proteus仿真

    地址&#xff1a; https://pan.baidu.com/s/1I7roZEjrk349Is_YdMcsxQ 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C51 是一款常用的 8 位单片机&#xff0c;由 Atmel 公司&#xff08;现已被 Microchip 收…

    具身系列——Diffusion Policy算法实现CartPole游戏

    代码原理分析 1. 核心思想 该代码实现了一个基于扩散模型&#xff08;Diffusion Model&#xff09;的强化学习策略网络。扩散模型通过逐步去噪过程生成动作&#xff0c;核心思想是&#xff1a; • 前向过程&#xff1a;通过T步逐渐将专家动作添加高斯噪声&#xff0c;最终变成…

    DeepSeek 本地化部署教程

    1 概述 1.1 配置参考图 科普&#xff1a; B&#xff0c;Billion&#xff08;十亿&#xff09;&#xff0c;是 “参数量” 的单位。 模型量超过 一亿&#xff0c;可称之为 “大模型”。 2 软件安装 2.1 下载 Ollama 官方主页&#xff1a;https://ollama.com/download主页截图…

    matlab打开两个工程

    1、问题描述 写代码时&#xff0c;需要实时参考别人的代码&#xff0c;需要同时打开2个模型&#xff0c;当模型在同一个工程内时&#xff0c;这是可以直接打开的&#xff0c;如图所示 2、解决方案 再打开一个MATLAB主窗口 这个时候就可以同时打开多个模型了 3、正确的打开方…