LAMP的搭建

news2024/9/9 6:20:51

LAMP概述

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

LAMP架构组成

平台linux:LAMP架构的系统环境

前台apache:服务器

后台MySQL(后端数据库):存放数据

中间件(中间连接)PHP/Perl/Python:三种开发动态网页的编程语言。负责解释动态网页文件,做前台和后台的协同工作

安装顺序

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

LAMP的部署

准备好linux系统环境

前置环境的初始化操作:

1.关闭防火墙和核心防护

vim /etc/selinux/config

SELINUX=disabled

2.安装Apache Web服务器

3.启动Apache Web服务器并设置开机自启

4.安装MySQL数据库

5.启动MySQL数据库并设置开机自启

6.运行MySQL安全脚本以加强安全性

7.安装PHP及相关模块

8.重启Apache Web服务器以使PHP模块生效

9.创建一个PHP测试文件以测试LAMP环境是否正常

将以下代码复制到文件中并保存:

<?php
phpinfo();
?>

10.在Web浏览器中输入服务器的IP地址或域名,加上/info.php,例如http://your_server_IP_address/info.php,如果看到PHP信息页面,则表示LAMP环境已经成功搭建

安装apache

一、环境的初始化操作

[root@localhost ~]# systemctl stop firewalld.service #关闭防火墙
[root@localhost ~]# setenforce 0#关闭核心防护
[root@localhost ~]# vim /etc/selinux/config

二、在opt文件夹下,上传apache、mysql、php的软件包

 

三、安装环境依赖包(可以使用本地yum仓库快速安装)

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

yum -y install 

gcc 

#C语言的编译器

gcc-c++ 

#C++的编译器

make 

#源代码编译器(源代码转换成二进制文件)

pcre 

#pcre是一个Perl函数库,包括perl 兼容的正则表达式库

pcre-devel 

#perl的接口开发包

expat-devel

#用于支持网站解析HTML、XML文件

perl

#perl语言编译器

四、配置软件模块

1.先把软件包解压

[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 

 

2.将apr两个包移动到  /opt/httpd-2.4.29/srclib下

cd opt/httpd-2.4.29/srclib

mv /opt/apr-1.6.2  ./apr                      #重命名为apr

mv /opt/apr-util-1.6.0 ./apr-util           #重命名为apr-util

3.返回上一级目录,使用./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi进行相关的配置

  cd ..#返回上一级目录在opt的http-2.4.29目录下

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

cd /opt/httpd-2.4.29/

./configure \ --prefix=/usr/local/httpd \

#指定将 httpd 服务程序的安装路径

--enable-so \

#启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力

--enable-rewrite \

#启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护 --

enable-charset-lite \

#启动字符集支持,以便支持使用各种字符集编码的页面

--enable-cgi

#启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力

 

4.编译及安装

make

#make -j 4 表示开4核同时进行编译

make install

5.检查是否显示httpd

该目录中存有apache的配置文件(在conf里)

 

三、修改apache配置文件

[root@localhost local]# cd ./httpd/conf
[root@localhost conf]# ls
extra  httpd.conf  magic  mime.types  original
[root@localhost conf]# vim httpd.conf 

四、启动apache 

通过路径去执行:

cd /usr/local/httpd/bin

直接执行apache和httpd命令

 通过systemctl去执行:

方法一:

cp /usr/local/httpd/bin/apachectl  /etc/init.d/httpd

#将原本的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

chkconfig --add httpd                      #将httpd服务加入到service管理器

chkconfig --list httpd                        #查看是否添加成功

systemctl start httpd.service 或 service httpd start

#开启httpd

netstat -lntp |grep httpd  #查看开启是否成功

方法二:

vim /lib/systemd/system/httpd.service

[Unit]                                                         

#服务的说明

Description=The Apache HTTP Server   

#描述服务

After=network.target

#依赖,当依赖的服务启动之后再启动自定义的服务

[Service]

#服务运行参数的设置

Type=forking

#后台运行方式

PIDFile=/usr/local/httpd/logs/httpd.pid

#PID文件位置

ExecStart=/usr/local/bin/apachectl $OPTIONS

#服务的运行命令

ExecReload=/bin/kill -HUP $MAINPID

#根据PID重载配置

[Install]

#服务安装的相关设置

WantedBy=multi-user.target

#设置为多用户

systemctl start httpd.service systemctl enable httpd.service

五、浏览器访问验证apache,完成apache部署

上面的it works是在/user/local/httpd/htdocs下的index.html文件里

 安装mysql

一、在/opt文件下上传mysql软件包并解压

[root@localhost opt]# ls
apr-1.6.2.tar.gz          httpd-2.4.29.tar.bz2
apr-util-1.6.0.tar.gz    mysql-boost-5.7.44.tar.gz
httpd-2.4.29
[root@localhost opt]# tar xf mysql-boost-5.7.44.tar.gz 
[root@localhost opt]# 
 

 二、安装环境依赖包

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake openssl-devel

 

yum -y install \

gcc

gcc-c++

ncurses

#字符终端下图形互动功能的动态库 ncurses-devel \ #ncurses开发包 bison \ #语法分析器

cmake

#mysql需要用cmake编译安装

三、配置软件模块

[root@localhost opt]# cd mysql-5.7.44/

 输入配置:

cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
> -DSYSCONFDIR=/etc \
> -DSYSTEMD_PID_DIR=/usr/local/mysql \
> -DDEFAULT_CHARSET=utf8  \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_EXTRA_CHARSETS=all \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DMYSQL_DATADIR=/usr/local/mysql/data \
> -DWITH_BOOST=boost \
> -DWITH_SYSTEMD=1
 

注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧

四、编译安装

make -j 4

make install

五、 创建mysql用户

useradd -M -s /sbin/nologin 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

pid-file = /usr/local/mysql/mysqld.pid

socket=/usr/local/mysql/mysql.sock

bind-address = 0.0.0.0

skip-name-resolve

max_connections=4096

default-storage-engine=INNODB

max_allowed_packet=32M

server-id = 1

 

[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                                             #指定端口(mysql默认端口为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                                    #禁止域名解析,包括主机名,所以授权的时候要使用 IP 地址
max_connections=4096                        #设置mysql的最大连接数
default-storage-engine=INNODB                #指定默认存储引擎
max_allowed_packet=32M                        #设置在网络传输中一次消息传输量的最大值。系统默认值为 1MB,最大值是 1GB,必须设置 1024 的倍数。
server-id = 1                                               #指定服务ID号

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

[root@localhost mysql-5.7.44]# chown mysql. /etc/my.cnf
[root@localhost mysql-5.7.44]# ll /etc/my.cnf
-rw-r--r--. 1 mysql mysql 445 12月 10 21:27 /etc/my.cnf

[root@localhost mysql-5.7.44]# cd /usr/local
[root@localhost local]# chown -R mysql. mysql/
[root@localhost local]# ll
drwxr-xr-x. 11 mysql mysql 177 12月 10 21:30 mysql

八、设置路径环境变量

加入到现有的PATH变量现有的目录里

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

 --initialize-insecure

 --user=mysql

 --basedir=/usr/local/mysql

 --datadir=/usr/local/mysql/data

 十、添加mysql系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

#添加到systemctl系统服务管理

systemctl start mysqld.service #开启mysqld服务

systemctl enable mysqld        #开机自启动

netstat -anpt | grep 3306        #查看端口

十一、设置 mysql登录密码

mysqladmin -u root password "abc123"

#给root账号设置密码为abc123,原始密码为空

登录mysql:mysql -u root -p,回车,输入密码

 十一、部署完成,实现远程登录mysql

mysql -u root -p               #登录mysql

grant all privileges on *.* to 'root'@'%' identified by 'abc123';

#授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限

show databases; #查看当前已有的数据库

 将mysqld和httpd设置为开机自启

systemctl enable mysqld.service httpd

 安装PHP

一、将PHP所需的软件包传到/opt下

二、安装依赖包(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 xf php-7.1.10.tar.bz2

cd /opt/php-7.1.10/

 ./configure \

--prefix=/usr/local/php7 \

--with-apxs2=/usr/local/httpd/bin/apxs \

--with-mysql-sock=/usr/local/mysql/mysql.sock \

--with-config-file-path=/usr/local/php7 \

--with-mysqli \

--with-zlib \

--with-curl \

--with-gd \

--with-jpeg-dir \

--with-png-dir \

--with-freetype-dir \

--with-openssl \

--enable-mbstring \

--enable-xml \

--enable-session \

--enable-ftp \

--enable-pdo \

--enable-tokenizer \

--enable-zip

 四、编译安装

make&&make insatll

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

 [root@localhost bin]# /usr/local/php7/bin/php --ini          #可以获取php配置文件所在目录

[root@localhost php7]# cp /opt/php-7.1.10/php.ini-production /usr/local/php7/lib/php.ini
[root@localhost php7]# cd lib
[root@localhost lib]# ls
php  php.ini

vim php.ini#修改主配置文件(就修改以下两个选项)

 

 

 

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

ln -s /usr/local/php7/bin/* /usr/local/bin/

php -m #查看PHP 加载了哪些模块

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

 vim /usr/local/httpd/conf/httpd.conf

--393行--插入以下内容

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

 --255行--修改首页文件名设置

DirectoryIndex index.php index.html

八、测试php页面

cd /usr/local/httpd/htdocs

rm -rf index.html

vim index.php

<?php

phpinfo();

?>

 

在网页上输入本机的ip地址,如192.168.116.50,呈现如下:

安装论坛

一、上传论坛的软件包解压

上传Discuz

#解压

unzip Discuz_X3.4_SC_UTF8.zip

[root@localhost dir_SC_UTF8]# cp -r upload/ /usr/local/httpd/htdocs/bbs

cd /usr/local/httpd/htdocs/

 

 二、登录数据库

mysql -u root -p abc123

查看当前库

show databases ;

三、创建一个空库

create database bbs ;

四、 设置授权,全部主机都可以访问

grant all on bbs.* to 'bbsadmin'@'localhost' identified by 'admin123';

 立即生效:flush privileges;

六、给予论坛权限(更改论坛目录的属主)

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

五、测试网站:192.169.116.50/bbs

数据库服务器:localhost

数据库名字:bbs

数据库用户名:bbsuser

数据库密码:admin123

管理员账号:admin

管理员密码:admin123

论坛后台管理员页面 http://192.168.80.10/bbs/admin.php

 

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

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

相关文章

[学习笔记]在CentOS7中用Docker方式安装Jenkins

文章目录 原理&#xff1a;创建Docker网桥网络安装DinD创建镜像构建镜像运行容器 原理&#xff1a; Docker in Docker &#xff08;以下简称 DinD&#xff09;可以在 Container 中直接运行一个 Docker Daemon &#xff0c;然后使用 Container 中的 Docker CLI 工具操作容器。其…

做数据分析为何要学统计学(6)——什么问题适合使用t检验?

t检验&#xff08;Students t test&#xff09;&#xff0c;主要依靠总体正态分布的小样本&#xff08;例如n < 30&#xff09;对总体均值水平进行差异性判断。 t检验要求样本不能超过两组&#xff0c;且每组样本总体服从正态分布&#xff08;对于三组以上样本的&#xff0…

apt-get update失败

一、先验证是否有网络 rootlocalhost:~# ping www.baidu.com ping: www.baidu.com: Temporary failure in name resolution rootlocalhost:~# 说明没有网&#xff0c;参考&#xff1a;https://blog.csdn.net/qq_43445867/article/details/132384031 sudo vim /etc/resolv.con…

windows如何解决端口冲突(实用篇)

在项目设计中&#xff0c;环境配置成功点击运行瞬间&#xff0c;一大堆红爆出&#xff0c;8080端口占用&#xff0c;这个是很烦人的。。。 解决方式&#xff1a; 笨方法&#xff1a;一、查看所有端口实用情况&#xff08;挨个扫&#xff09; 按住【WINR】快捷键打开运行输入…

报表控件FastReport .NET v2024功能演示—更改图图片形状

报表生成器FastReport .NET 是适用于.NET Core 3&#xff0c;ASP.NET&#xff0c;MVC和Windows窗体的全功能报告库。使用FastReport .NET&#xff0c;您可以创建独立于应用程序的.NET报告。 FastReport .net下载&#xff08;qun&#xff1a;585577353&#xff09;https://www.e…

靠着这份280页的前端面试指南,拿下了字节跳动offer

笔者是在今年秋招面试的头条教育线&#xff0c;顺利拿到了offer&#xff0c;把还记得的东西写下来&#xff0c;供大家参考一下。 一面 tcp 和 udp 的区别和使用场景&#xff1f;quic 基于 udp 怎么保证可靠性&#xff1f;讲一下同源策略和跨域方案&#xff1f;CORS 的几个头部…

AutoAnimate动画库,仅需一行代码

插件官网,支持react,vue AutoAnimate - Add motion to your apps with a single line of code 自动加动画原理 AutoAnimate 加动画的原理也很简单&#xff0c;监听绑定的 DOM 节点里 DOM 结构变化&#xff0c;自动添加对应的过渡动画&#xff1a; 增加子节点 > 渐入动画…

智能检测/摄像头监控系统EasyCVR无法启动进程是什么原因?如何解决?

国标GB28181智慧安防平台EasyCVR支持高清视频的接入和传输、分发&#xff0c;平台采用了开放式的网络结构&#xff0c;提供实时远程视频监控、录像回放与存储等功能。视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放&#xff0c;可同时播放多路视频流&#xff0c;也能支持…

数据库系统 --- 关系模型

一、关系模型的数据结构以及形式化定义 1.关系 域&#xff1a;一组具有相同数据结构的值的集合。 笛卡尔积&#xff1a;域上的一种集合运算。多个集合做笛卡尔积的结果是每个集合取一个元素组合得到的一个新的集合。 域的基数&#xff1a;一个域上允许的不同取值的个数。 关系&…

【数仓理论】

一、数仓建模方法论 1.1 ER模型&#xff08;Entity Relationship、实体关系模型、范式模型&#xff09; ER模型是Bill Inmon提出的一种建模方法&#xff0c;实体关系模型将复杂的数据抽象为两个概念 ---- 实体和关系 该模型在范式理论上符合3NF&#xff0c;这种模型目的是减少…

VTK学习(入门级教程,包括安装和使用)~持续更新中

说明&#xff1a;研究QTVTK有段时间了&#xff0c;准备把学到的东西分享给大家&#xff0c;这篇博客以VSQTVTK为主进行展开学习的。 VTK学习 VTK安装和使用教程VTK入门级教程设计界面vtkStudy.ui的操作vtkStudy.h头文件说明完整代码 vtkStudy.cpp绘制球体绘制长方体绘制圆柱绘制…

wordpress多語言插件Polylang與GTranslate會有衝突

wordpress多語言插件Polylang與GTranslate會有衝突,會導致分頁顯示不完整&#xff0c;需要禁用或卸載其中一個 分頁顯示才會沒問題 GTranslate必須要先按一種語言編輯好你要發佈網站&#xff0c;GTranslate這種語言為基礎去翻譯出來&#xff0c;其實內裡是套用了google 翻譯的…

第二证券:结构性行情或将延续 泛科技有望继续走强

展望未来&#xff0c;当时已进入重要的方针窗口期&#xff0c;能否有超预期的新方针推出是改变商场的要害。但复盘2023年的行情来看&#xff0c;过早买卖方针预期的成功率并不高&#xff0c;因而主张该方位以防御性资产为主&#xff0c;高股息资产从本年9月份至今现已调整了2个…

ubuntu dns 相关

查看dns配置 systemd-resolve --status 修改dns vim /etc/resolv.conf sudo apt install traceroute 追踪 traceroute www.baidu.com

windows下docker环境安装

开启硬件虚拟化技术 win10中开启 Hyper-V Win10 下是否开启硬件虚拟化技术&#xff0c;在控制面板&#xff0c;启用 window 功能&#xff0c;找到 Hyper-V 选项&#xff0c;点勾选确认。如图&#xff1a; Windows 11 家庭中文版新增 Hyper-V选项 注意以下的解决方案来自win1…

Vision Transformer模型架构详解

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…

自动化测试 (一) 12306火车票网站自动登录工具

还记得2011年春运&#xff0c;12306火车票预订网站经常崩溃无法登录吗。 今天我们就开发一个12306网站自动登录软件。 帮助您轻松订票 Web的原理就是&#xff0c;浏览器发送一个Request给Web服务器&#xff0c;Web服务器处理完这个请求之后发送一个HTTP Response给浏览器。 …

【JAVA】黑马MybatisPlus 学习笔记【一】

1.快速入门 为了方便测试&#xff0c;我们先创建一个新的项目&#xff0c;并准备一些基础数据。 1.1 环境配置 导入项目 注意配置一下项目的JDK版本为JDK11。首先点击项目结构设置&#xff1a; 导入两张表&#xff0c;在课前资料中已经提供了SQL文件&#xff1a; 最后&am…

python用来干什么的,python用来做什么的

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;python用来干什么的&#xff0c;python用来做什么的&#xff0c;今天让我们一起来看看吧&#xff01; 随着互联网行业的发展&#xff0c;编程越来越受到人们的重视&#xff0c;但是始终很多人并不了解编程是什么&#x…

Linux——MySQL数据库系统

一、 MySQL的编译安装 1、准备工作 &#xff08;1&#xff09;为了避免发生端口冲突&#xff0c;程序冲突等现象&#xff0c;建议先查询MySQL软件的安装情况&#xff0c;确认没有使用以Rpm方式安装的mysql-server、mysql软件包&#xff0c;否则建议将其卸载 [rootlocalhost ~]…