LAMP架构(LAMP网站应用模式)搭建,包含Apache,Mysql,PHP的安装

news/2024/5/20 13:20:51/文章来源:https://blog.csdn.net/weixin_44938203/article/details/122343446

文章目录

    • LAMP架构概述
    • 各组件的主要作用如下:
    • 注意事项
    • Apache安装
      • 关闭防火墙,传输apache所需软件包
      • 安装环境依赖包
      • 配置软件模块
      • 编译安装
      • 优化配置文件路径
      • 添加httpd系统服务
      • 修改httpd 服务配置文件
      • 查看状态
      • 浏览器访问验证
    • Mysql安装
      • 将安装mysql 所需软件包传到/opt目录下
      • 安装环境依赖包
      • 配置软件模块
      • 编译及安装
      • 创建mysql用户,.修改mysql 配置文件
      • 更改mysql安装目录和配置文件的属主属组
      • 设置路径环境变量
      • 初始化数据库
      • 添加mysqld系统服务
      • 修改mysql 的登录密码
    • PHP安装
      • 将安装PHP 所需软件包传到/opt目录下
      • 安装GD库和GD库关联程序,用来处理和生成图片
      • 配置软件模块
        • 编译及安装
      • 复制模版文件作为PHP 的主配置文件,并进行修改
      • 优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
      • 修改httpd 服务的配置文件,让apache支持PHP
      • 验证PHP 测试页
    • 安装论坛
      • 解压论坛压缩包
      • 更改论坛目录的属主
      • 浏览器访问验证

LAMP架构概述

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MysSQL数据库服务器、PHP(或Perl、Python)网页编程语言。

各组件的主要作用如下:

(平台)Linux:作为L.AMP架构的基础,提供用于支撑web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持windows、UNIX等平台)。

(前台)Apache:作为LAMP架构的前端,是一款功能强大,稳定性好的web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容。

(后台)MysQL:作为LAMAP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过sQL语句来查询,更改这些信息。

(中间连接)PHP/Perl/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通web服务器和数据库系统以协同工作,并提供web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于web应用开发。

在构建L.AMP平台时,各组件的安装顺序依次为Linux、Apache、MySQL、PHP。其中Apache和MysQL的安装并没有严格的顺序,PHP环境的安装一般放到最后安装,负责沟通web服务器和数据库系统以协同工作。

注意事项

  • 在构建LAMP平台时,各组件的安装顺序依次为Linux、Apache、MySQL、PHP。
  • 其中Apache和MySQL的安装并没有严格的顺序,PHP环境的安装一般放到最后安装,负责沟通 Web 服务器和数据库系统以协同工作。

Apache安装

关闭防火墙,传输apache所需软件包

在这里插入图片描述

安装环境依赖包

yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl    

在这里插入图片描述

配置软件模块

#解压文件
cd /opt/
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2#移动文件
mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-utilcd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \		#指定将 httpd 服务程序的安装路径
--enable-so \					#启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \				#启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \			#启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi					#启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力

在这里插入图片描述

编译安装

make -j 4 && make install

在这里插入图片描述
在这里插入图片描述

优化配置文件路径

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

ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/

在这里插入图片描述

添加httpd系统服务

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
chmod +x /etc/init.d/httpd
vi /etc/init.d/httpd
#!/bin/bash			#在第一行前插入新行,添加此三行内容
# chkconfig: 35 85 21    #35级别自动运行  第85个启动 第21个关闭
# description: Apache is a World Wide Web server#将服务加入service管理器
chkconfig --add httpd
#开启服务
systemctl start httpd.service

在这里插入图片描述
在这里插入图片描述

修改httpd 服务配置文件

--52行--修改
Listen 192.198.80.130:80
--197行--取消注释,修改
ServerName www.ghp.com:80--221行--默认首页存放路径
DocumentRoot "/usr/local/httpd/htdocs"
--255行--默认首页文件名设置
DirectoryIndex index.html

在这里插入图片描述
:
在这里插入图片描述
在这里插入图片描述

查看状态

在这里插入图片描述

浏览器访问验证

echo "192.168.80.130 www.ghp.com" >> /etc/hosts网页输入本机IP(服务器IP)
http://192.168.80.130
http://www.ghp.com

在这里插入图片描述

Mysql安装

将安装mysql 所需软件包传到/opt目录下

在这里插入图片描述

安装环境依赖包

yum -y install \
gcc \
gcc-c++ \
ncurses \				#字符终端下图形互动功能的动态库
ncurses-devel \			#ncurses开发包
bison \					#语法分析器
cmake					#mysql需要用cmake编译安装

在这里插入图片描述

配置软件模块

#解压软件包
tar zxvf mysql-5.7.17.tar.gz
tar zxvf boost_1_59_0.tar.gzcd /opt
mv boost_1_59_0 /usr/local/boost		#重命名
cd /opt/mysql-5.7.17/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \		#指定mysql的安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定mysql进程监听套接字文件(数据库连接文件)的存储路径
-DSYSCONFDIR=/etc \                             #指定配置文件的存储路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \            #指定进程文件的存储路径
-DDEFAULT_CHARSET=utf8  \                       #指定默认使用的字符集编码,如 utf8
-DDEFAULT_COLLATION=utf8_general_ci \			#指定默认使用的字符集校对规则
-DWITH_EXTRA_CHARSETS=all \						#指定支持其他字符集编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \              #安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \               #安装ARCHIVE存储引擎 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \             #安装BLACKHOLE存储引擎 
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \            #安装FEDERATED存储引擎 
-DMYSQL_DATADIR=/usr/local/mysql/data \         #指定数据库文件的存储路径
-DWITH_BOOST=/usr/local/boost \          #指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost
-DWITH_SYSTEMD=1								#生成便于systemctl管理的文件

在这里插入图片描述
在这里插入图片描述

编译及安装

make -j 4 && make install

在这里插入图片描述

创建mysql用户,.修改mysql 配置文件

vim /etc/my.cnf								#删除原配置项,再重新添加下面内容
[client]									#客户端设置
port = 3306
socket = /usr/local/mysql/mysql.sock			[mysql]										#服务端设置
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash									#开启自动补全功能[mysqld]									#服务全局设置
user = mysql       							#设置管理用户
basedir=/usr/local/mysql					#指定数据库的安装目录
datadir=/usr/local/mysql/data				#指定数据库文件的存储路径
port = 3306									#指定端口
character-set-server=utf8					#设置服务器字符集编码格式为utf8
pid-file = /usr/local/mysql/mysqld.pid		#指定pid 进程文件路径
socket=/usr/local/mysql/mysql.sock			#指定数据库连接文件
bind-address = 0.0.0.0						#设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开
skip-name-resolve							#禁用DNS解析
max_connections=2048						#设置mysql的最大连接数
default-storage-engine=INNODB				#指定默认存储引擎
max_allowed_packet=16M						#设置数据库接收的数据包大小的最大值
server-id = 1								#指定服务ID号sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

在这里插入图片描述

在这里插入图片描述

更改mysql安装目录和配置文件的属主属组

chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

在这里插入图片描述

设置路径环境变量

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile	
source /etc/profile

在这里插入图片描述

初始化数据库

cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \				#生成初始化密码为空
--user=mysql \                      #指定管理用户
--basedir=/usr/local/mysql \        #指定数据库的安装目录
--datadir=/usr/local/mysql/data		#指定数据库文件的存储路径

在这里插入图片描述

添加mysqld系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/		#用于systemctl服务管理
systemctl daemon-reload         #刷新识别     
systemctl start mysqld.service  #开启服务
systemctl enable mysqld         #开机自启动
netstat -anpt | grep 3306       #查看端口

在这里插入图片描述

修改mysql 的登录密码

mysql -u root -p
grant all privileges on *.* to 'root'@'%' identified by '123456';
#授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限show databases;			#查看当前已有的数据库

在这里插入图片描述

PHP安装

将安装PHP 所需软件包传到/opt目录下

在这里插入图片描述

安装GD库和GD库关联程序,用来处理和生成图片

yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

在这里插入图片描述

配置软件模块

cd /opt
tar jxvf php-7.1.10.tar.bz2
cd /opt/php-7.1.10/
./configure \
--prefix=/usr/local/php7 \							#指定将 PHP 程序的安装路径
--with-apxs2=/usr/local/httpd/bin/apxs \			#指定Apache httpd服务提供的apxs 模块支持程序的文件位置
--with-mysql-sock=/usr/local/mysql/mysql.sock \		#指定mysql 数据库连接文件的存储路径
--with-config-file-path=/usr/local/php7				#设置 PHP 的配置文件 php.ini 将要存放的位置
--with-mysqli \										#添加 MySQL 扩展支持 #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定
--with-zlib \										#支持zlib功能,提供数据压缩
--with-curl \										#开启curl扩展功能,实现HTTP的Get下载和Post请求的方法
--with-gd \											#激活gd 库的支持
--with-jpeg-dir \									#激活jpeg 的支持
--with-png-dir \									#激活png 的支持
--with-freetype-dir \
--with-openssl \
--enable-mbstring \									#启用多字节字符串功能,以便支持中文等代码
--enable-xml \										#开启扩展性标记语言模块
--enable-session \									#会话
--enable-ftp \										#文本传输协议
--enable-pdo \										#函数库
--enable-tokenizer \								#令牌解释器
--enable-zip				

在这里插入图片描述

编译及安装

make && make install

在这里插入图片描述

复制模版文件作为PHP 的主配置文件,并进行修改

cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini	
#在测试环境时使用php.ini-development文件,而在生产环境时使用php.ini-production文件
vim /usr/local/php7/php.ini
--1170行--修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
--939行--取消注释,修改
date.timezone = Asia/Shanghai

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

ln -s /usr/local/php7/bin/* /usr/local/bin/
php -m 			#查看PHP 加载了哪些模块

在这里插入图片描述

修改httpd 服务的配置文件,让apache支持PHP

vim /etc/httpd.conf 
--393行--插入以下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
--255行--修改首页文件名设置
DirectoryIndex index.html index.php

在这里插入图片描述

在这里插入图片描述

验证PHP 测试页

rm -rf /usr/local/httpd/htdocs/index.html
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>systemctl restart httpd.service浏览器访问
http://192.168.80.10

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

安装论坛

mysql -u root -p  #创建数据库,并进行授权CREATE DATABASE bbs;
#创建一个数据库GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
#把bbs数据库里面所有表的权限授予给bbsuser,并设置密码admin123flush privileges;
#刷新数据库show databases;

解压论坛压缩包

unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/dis
cd /opt/dis/dir_SC_UTF8/
cp -r upload/ /usr/local/httpd/htdocs/bbs		#上传站点更新包

在这里插入图片描述

更改论坛目录的属主

ps aux #查看发现论坛进程的用户名是daemon
cd /usr/local/httpd/htdocs/bbs
chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data

在这里插入图片描述

浏览器访问验证

论坛页面访问
http://192.168.80.130/bbs

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Nginx网站服务(Nginx虚拟主机的搭建)

Nginx网站服务以及LNMP搭建 文章目录Nginx网站服务以及LNMP搭建Nginx服务基础关于NginxNginx相对于Apache的优点:Apache相对于Nginx的优点:Nginx访问控制安装关闭防火墙安装依赖包创建运行用户、组编译安装Nginx启动前先关掉之前装的apache服务检查、启动、重启、停止 nginx服务…

最新微信公众号文章采集发布到destoon网站,免费教程!

DESTOON B2B网站管理系统是一套基于PHPMySQL的开源B2B电子商务行业门户网站解决方案&#xff0c;当前已发布会员、分站、商城、供应、求购、行情、公司、展会、文章、信息、品牌、团购、图库、专题、视频、下载、人才、知道等模型 下面教大家如何用孤狼公众号助手发布文章 1.…

腾讯云Linux云服务器搭建网站

腾讯云Linux云服务器搭建网站 基本准备及操作 这里的安装过程使用系统自带的yum工具进行安装 安装jdk和java运行环境安装mysql安装tomcat安装httpd服务部署web项目到服务器实现从服务器tomcat上下载文件 1.安装jdk 使用如下指令可以安装1.8版本的jdk yum -y install java-1.…

Nodejs使用实例——网站登录验证

JS是脚本语言&#xff0c;脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS&#xff0c;浏览器充当了解析器的角色。而对于需要独立运行的JS&#xff0c;NodeJS就是一个解析器。每一种解析器都是一个运行环境&#xff0c;不但允许JS定义各种数据结构&#xff0c;进行…

tm是什么域名_关于网站收录排名那些事-你的网站为什么不被收录?

网站做好后&#xff0c;一定会有一个疑问&#xff0c;网站如何才让百度收录&#xff0c;别人可以在百度搜索到你的网站呢&#xff1f;本文就来跟大家聊五毛钱的关于网站收录那些事。温馨提示:本文介绍的这些内容只是加快网站被搜索引擎收录&#xff0c;你不做&#xff0c;早晚也…

java搭建云手机,使用华为云服务器搭建一个简单网站(内容全面)

一、购买服务器因为遇上华为云服务器打折活动&#xff0c;因此就买了一年的华为云服务器。购买过程如下&#xff1a;首先是去华为云官网注册账号&#xff0c;如果是学生进行学生认证&#xff0c;然后搜索“学生套餐”&#xff0c;点击“参与”就会出现一下界面&#xff1a;按自…

Asp.net网站开发(一)LINQ TO SQL 之动态数据支持

LinQ to SQL动态数据支持 动态数据支持&#xff0c;它允许开发人员不用编写一行代码就可以快速的创建使用linq to sql对象模型的数据驱动网站。 创建方法&#xff1a; 1. 创建asp.net Dynamic data站点 新建项目——web——asp.net Dynamic data LINQ TO SQl 应用程序——…

Asp.net网站开发(一)LINQ TO SQL 之八大字句

1. from in子句&#xff1a;指定查询操作的数据源和变量范围//创建LinqDB数据库上下文实例DataClasses1DataContext db new DataClasses1DataContext();//使用lINQ查询表达式查询数据var query from stu in db.studentjoin m in db.mark on stu.sid equals m.sidsele…

Asp.net网站开发(二)HttpHandler

模版和处理程序 封面数字水印&#xff1a;运用httphandler技术 封面数字水印的实现&#xff1a; 1.创建一个Ihttphandler的类Handler12.在Handler1中写代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.IO; using Sys…

Asp.net网站开发(二)用户控件

用户控件 定义&#xff1a; 在 ASP.NET 中&#xff1a;使用与 ASP.NET 页相同的语法&#xff0c;以声明方式创作的服务器控件。该控件用 .ascx 扩展名保存为文本文件。用户控件允许对页功能进行分区和重用。第一次请求时&#xff0c;页框架立即将用户控件分析为从 System.Web.U…

Asp.net网站开发(一)LINQ TO SQL 之LINQ TO SQL类

datacontext类的方法 常用的方法&#xff1a; 执行sql命令的ExecuteQuery方法查询if(!IsPostBack){DataClasses1DataContext db new DataClasses1DataContext();string s "select * from student ";GridView1.DataSourcedb.ExecuteQuery<student>(s);GridVi…

Asp.net网站开发(三)成员资格和角色管理

成员资格管理 Membership类用于验证用户凭证并管理用户设置 Membership属性&#xff1a;ApplicationName获取或设置应用程序的名称。EnablePasswordReset获得一个值&#xff0c;指示当前成员资格提供程序是否配置为允许用户重置其密码。EnablePasswordRetrieval获得一个值&…

Asp.net网站开发(四)个性化用户设置

个性化用户设置 1.先新建一个网站&#xff0c;然后配置web.config文件<connectionStrings><add name"aspnetdbConnectionString" connectionString"Data Source.;Initial Catalogaspnetdb;Integrated SecurityTrue"providerName"System.Data…

微信公众号用户与网站用户的绑定方案

现在很多网站都已经建立了一套完整的用户账号体系&#xff0c;基于这套体系&#xff0c;再做其他应用的用户扩展就非常方便。例如&#xff0c;有了微软的outlook账户&#xff0c;就可以登录win8&#xff0c;可以登录微软的邮箱&#xff0c;还可以登录skype。同样地&#xff0c;…

为什么要把系统拆分成分布式的?为啥要用dubbo?_面向服务的分布式网站架构设计...

传统的架构但是如果要是有高并发的话&#xff0c;那么这样的架构就会出问题高并发的架构可以使用负载均衡的方式&#xff0c;设置一个负载均衡服务器&#xff0c;这个服务器根据不同tomcat服务器的压力来确定使用其中的一个服务器来处理用户请求&#xff0c;使得压力最小的处理…

html中使用什么标签做的导航栏_网站导航:7个最佳实践,设计技巧和警示

一些小的事物可以创造大的变化&#xff0c;网站导航栏就是一个很好的例子。导航的结构和标签可能会对结果产生巨大影响&#xff0c;原因如下&#xff1a;导航会影响流量&#xff1a;你的网站在搜索引擎中的排名高低会影响你从搜索中获得的流量量的多少导航会影响转化&#xff1…

seo按天扣费系统_SEO优化有哪些痛点?

大数据时代的到来&#xff0c;互联网的普及给企业带来了全新的营销模式&#xff0c;信息数据化的模式下&#xff0c;企业纷纷开拓线上业务&#xff0c;企业们都想在这个大市场上分得一杯羹&#xff0c;抢战先机那就得比别人先找对方法。对于企业来说SEO优化和全网推广是互联网推…

我的家乡网站_中国日记|电影《我和我的家乡》背后藏着哪些秘密

这个“十一”两节相逢&#xff0c;电影市场也热闹起来。一部《我和我的家乡》让观众笑泪齐飞&#xff0c;收获了久违的欢乐与感动。故乡今夜思千里&#xff0c;华灯璀璨待君归。《北京好人》《天上掉下个UFO》《最后一课》《回乡之路》《神笔马亮》——五个单元&#xff0c;五个…

php与mysql网站设计案例,基于Web的手工网站的设计与实现(PHP,MySQL)(含录像)

基于Web的手工网站的设计与实现(,MySQL)(含录像)(任务书,开题报告,毕业论文12500字,程序代码,MySQL数据库)系统功能需求概述手工材料网系统主要有六大模块&#xff1a;系统设置模块、分类管理模块、商品管理模块、订单管理模块、留言管理模块、分享管理模块。系统分为前台、后台…

javascript正则表达式判断文件夹名称是否有误_JavaScript网站开发——第三天

十二&#xff0c;DOM1&#xff0c;什么是DOMDOM全称 Document Object Model&#xff0c;即文档对象模型&#xff0c;它允许脚本(js)控制Web页面、窗口和文档。实现了JS可以通过操作BOM来实现浏览器的各种行为&#xff0c;起到了桥梁和结构的作用。做网页的都知道&#xff0c;想…