LAMP架构搭建

目录

LAMP架构搭建

编译安装Apache httpd服务

1、需要的安装包

2、关闭防火墙和核心防护

3、安装环境依赖包

4、配置软件模块

5、编译及安装

6、优化配置文件路径(可不做)

7、添加httpd系统服务

8、修改httpd 服务配置文件

9、浏览器访问验证

编译安装mysqld 服务

1、将安装mysql 所需软件包传到机器上

2、安装环境依赖包

3、配置软件模块

4、编译安装

5、创建mysql用户

6.修改mysql 配置文件

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

8、设置路径环境变量

9、初始化数据库

10、添加mysqld系统服务

11、修改mysql 的登录密码

12、授权远程登录

编译安装PHP 解析环境

1、将安装PHP 所需软件包传到机器上

2、安装GD库和GD库关联程序(用来处理和生成图片)

3、配置软件模块

4、编译及安装

5、优化

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

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

8、验证PHP 测试页

使用LAMP架构安装论坛

1.创建数据库,并进行授权

2、解压论坛压缩包

3、更改论坛目录的属主

4、浏览器访问验证

使用LAMP架构安装个人博客

1、创建数据库,并进行授权

2、解压复制

3、更改论坛目录的属主

4、登录验证


LAMP:网站服务架构,同时提供静态页面和动态页面的访问能力。

Linux:提供网站服务应用的操作系统环境,也支持 Window、Unix 系统作为 AMP 的操作系统环境
Apache:作为前端网站服务,直接面向用户提供网站访问入口,并处理静态页面请求
MySQL:作为后端数据库,用于存储网站的业务数据、账户信息等,并提供访问接口给编程语言程序连接,使用SQL语句进行数据的读写
PHP:作为编程语言程序,负责解释动态页面文件;并作为中间件,负责实现前端Web网站服务和后端数据库的协同工作

LAMP架构搭建

编译安装Apache httpd服务

1、需要的安装包

httpd-2.4.29.tar.bz2
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz

2、关闭防火墙和核心防护

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

3、安装环境依赖包

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

gcc ---C语言的编译器
gcc-c++ ---C++的编译器
make ---源代码编译器(源代码转换成二进制文件)
pcre ---pcre是一个Perl函数库,包括perl 兼容的正则表达式库
pcre-devel ---perl的接口开发包
expat-devel ---用于支持网站解析HTML、XML文件
perl ---perl语言编译器

4、配置软件模块

解压

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(按实际位置解压)

将apr模块移动到httpd-2.4.29中

mv apr-1.6.2 ./httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 ./httpd-2.4.29/srclib/apr-util

cd ./httpd-2.4.29/

配置软件模块

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

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

5、编译及安装

make或者make -j 2(表示开2核同时进行编译,取决于机器有几个CPU)
make install

6、优化配置文件路径(可不做)

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

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

7、添加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                              ---设置为多用户

启动httpd服务

systemctl start httpd.service
systemctl enable httpd.service

8、修改httpd 服务配置文件

1、监听本机80端口

2、取消注释,修改域名

3、网页的默认存放位置(可不修改)

4、检查配置文件是否有误,重启服务

httpd -t  或 apachectl -t

9、浏览器访问验证

检查80端口是否开启

浏览器访问

域名访问需要更改host文件

编译安装mysqld 服务

1、将安装mysql 所需软件包传到机器上

需要的软件包

mysql-5.7.17.tar.gz
boost_1_59_0.tar.gz

或者

 mysql-boost-5.7.44.tar.gz

2、安装环境依赖包

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

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

3、配置软件模块

解压软件包

 tar zxvf mysql-boost-5.7.44.tar.gz(按实际位置解压)

配置软件模块

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

4、编译安装

 make -j 4 && make install

5、创建mysql用户

useradd -M -s /sbin/nologin  mysql

6.修改mysql 配置文件

vim /etc/my.cnf    (如是桌面安装可能有mariadb)

添加

[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=utf8mb4
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

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

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

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

8、设置路径环境变量

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


9、初始化数据库

cd /usr/local/mysql/bin/

./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

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

10、添加mysqld系统服务

systemctl服务管理

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

刷新识别

systemctl daemon-reload

开启服务

systemctl start mysqld.service

设置开机自启动

systemctl enable mysqld

查看端口

netstat -anpt | grep 3306

11、修改mysql 的登录密码

给root账号设置密码为abc123

mysqladmin -u root password "abc123"

12、授权远程登录

mysql -u root -pabc123

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

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

查看当前已有的数据库

show databases;

编译安装PHP 解析环境

1、将安装PHP 所需软件包传到机器上

需要的软件包

php-7.1.10.tar.bz2

2、安装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

3、配置软件模块

tar xf php-7.1.10.tar.bz2(按实际位置解压)

cd php-7.1.10/

./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php/lib \
--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

--prefix=/usr/local/php---指定将 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/php/lib---设置 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 ---ZIP压缩格式

4、编译及安装

make && make install

5、优化

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

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

查看PHP 加载了哪些模块

php -m

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

php --ini

复制

cp ~/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini(按实际位置复制)

修改

vim /usr/local/php/lib/php.ini

date.timezone = Asia/Shanghai

mysqli.default_socket = /usr/local/mysql/mysql.sock

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

vim /etc/httpd.conf

 修改首页文件名设置

DirectoryIndex index.html index.php

添加

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

检查支持php7的模块是否存在

LoadModule php7_module        modules/libphp7.so

8、验证PHP 测试页

rm -rf /usr/local/httpd/htdocs/index.html

vim /usr/local/httpd/htdocs/index.php

<?php
phpinfo();
?>

systemctl restart httpd.service

浏览器访问

使用LAMP架构安装论坛

1.创建数据库,并进行授权

mysql -u root -pabc123

创建一个数据库

CREATE DATABASE bbs;

把bbs数据库里面所有表的权限授予给bbsuser,并设置密码admin123

GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';

刷新数据库

flush privileges;

查看数据库

show databases;

2、解压论坛压缩包

unzip ~/Discuz_X3.4_SC_UTF8.zip -d /opt/dis(按实际位置解压)

cd /opt/dis/dir_SC_UTF8/

上传站点更新包

cp -r upload/ /usr/local/httpd/htdocs/bbs

3、更改论坛目录的属主

论坛进程的用户名是daemon

ps aux

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

4、浏览器访问验证

http://192.168.110.50/bbs(根据实际IP)

安装

安装成功

论坛首页

论坛后台管理员页面

http://192.168.110.50/bbs/admin.php

使用LAMP架构安装个人博客

1、创建数据库,并进行授权

mysql -u root -pabc123

创建一个数据库

create database wordpress;

把bbs数据库里面所有表的权限授予给bbsuser,并设置密码admin123

grant all on wordpress.* to 'admin103'@'%'identified by 'abc123';

刷新数据库

flush privileges;

查看数据库

show databases;

2、解压复制

解压

tar xf wordpress-4.9.4-zh_CN.tar.gz -C /opt/

将wordpress复制到网站服务的根目录下

cp -r wordpress /usr/local/httpd/htdocs/

3、更改论坛目录的属主

cd /usr/local/httpd/htdocs/

chown -R daemon:daemon wordpress/

4、登录验证

http://192.168.110.50/wordpress

安装

如需创建wp-config.php,按要求创建即可

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

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

相关文章

【Pycharm】Pycharm创建Django提示pip版本需要升级

目录 1、现象 2、分析 3、本质 前言&#xff1a;经常使用pycharm创建django、flask等项目时候提示pip版本需要升级&#xff0c;解决方案 1、现象 使用Pycharm创建Django项目提示安装Django超时&#xff0c;报错建议pip升级22升级到24 2、分析 之前使用命令升级了pip到了24…

linux 基础(一)mkdir、ls、vi、ifconfig

1、linux简介 linux是一个操作系统&#xff08;os: operating system&#xff09; 中国有没有自己的操作系统&#xff08;华为鸿蒙HarmonyOS&#xff0c;阿里龙蜥(Anolis) OS 8、百度DuerOS都有&#xff09; 计算机组的组成&#xff1a;硬件软件 硬件&#xff1a;运算器&am…

思通数科开源产品:免费的AI视频监控卫士安装指南

准备运行环境&#xff1a; 确保您的服务器或计算机安装了Ubuntu 18.04 LTS操作系统。 按照产品要求&#xff0c;安装以下软件&#xff1a; - Python 3.9 - Java JDK 1.8 - MySQL 5.5 - Redis 2.7 - Elasticsearch 8.14 - FFmpeg 4.1.1 - RabbitMQ 3.13.2 - Minio &#xff08;…

240912-设置WSL中的Ollama可在局域网访问

A. 最终效果 B. 设置Ollama&#xff08;前提&#xff09; sudo vim /etc/systemd/system/ollama.service[Unit] DescriptionOllama Service Afternetwork-online.target[Service] ExecStart/usr/bin/ollama serve Userollama Groupollama Restartalways RestartSec3 Environme…

​OpenAI最强模型o1系列:开启人工智能推理新时代

前不久OpenAI发布全新模型——o1模型&#xff0c;也就是业界说的“草莓模型”&#xff0c;包含三款型号&#xff1a;OpenAI o1、OpenAI o1-preview和OpenAI o1-mini。 其中&#xff0c;OpenAI o1-mini和 o1-preview已经对用户开放使用&#xff1a; OpenAI o1&#xff1a;高级推…

C语言之预处理详解(完结撒花)

目录 前言 一、预定义符号 二、#define 定义常量 三、#define定义宏 四、宏与函数的对比 五、#和## 运算符 六、命名约定 七、#undef 八、条件编译 九、头文件的包含 总结 前言 本文为我的C语言系列的最后一篇文章&#xff0c;主要讲述了#define定义和宏、#和##运算符、各种条件…

植物大战僵尸【源代码分享+核心思路讲解】

植物大战僵尸已经正式完结&#xff0c;今天和大家分享一下&#xff0c;话不多说&#xff0c;直接上链接&#xff01;&#xff01;&#xff01;&#xff08;如果大家在运行这个游戏遇到了问题或者bug&#xff0c;那么请私我谢谢&#xff09; 大家写的时候可以参考一下我的代码思…

前端工程化4:从0到1构建完整的前端监控平台

前言 一套完整的前端监控系统的主要部分&#xff1a; 数据上报方式数据上送时机性能数据采集错误数据采集用户行为采集定制化指标监控sdk 监控的目的&#xff1a; 一、数据上报方式 本文的方案是&#xff0c;优先navigator.sendBeacon&#xff0c;降级使用1x1像素gif图片…

群晖NAS使用Docker本地部署网页版Ubuntu系统并实现无公网IP远程访问

文章目录 前言1. 下载Docker-Webtop镜像2. 运行Docker-Webtop镜像3. 本地访问网页版Linux系统4. 群晖NAS安装Cpolar工具5. 配置异地访问Linux系统6. 异地远程访问Linux系统7. 固定异地访问的公网地址 前言 本文旨在详细介绍如何在群晖NAS部署docker-webtop&#xff0c;并结合c…

《财富之眼:用经济思维看清世界》pdf电子书下载

《财富之眼&#xff1a;用经济思维看清世界》pdf电子书下载 内容简介 一切社会现象都是经济现象&#xff0c;我们只能赚到自己认知范围内的 钱。我国社会主要矛盾已经转化为人民日益增长的美好生活需要和不 平衡不充分的发展之间的矛盾&#xff0c;其中“不平衡不充分”很大程…

【网络】高级IO——Reactor版TCP服务器

目录 1.什么是Reactor 1.1.餐厅里的Reactor模式 2.Reactor的由来 2.1.单 Reactor 单进程 / 线程 2.2.单 Reactor 多线程 / 多进程 2.3.多 Reactor 多进程 / 线程 3.实现单 Reactor 单进程版本的TCP服务器 3.1.Connection类 3.2.TcpServer类 3.3.Connection的真正用处 …

C++—vector的常见接口与用法(正式进入STL)

目录 0.提醒 1.介绍 2.构造 1.正常构造 2.默认值构造 3.调用默认构造函数构造 3.遍历 1.迭代器 2.范围for 3.下标访问 4.容量 1.capacity&#xff1a;返回当前容器的容量 2.reserve&#xff1a;如果传的k比当前容量大&#xff0c;则扩容到比k大或者等于k的数&…

Windows10安装cuda11.3.0+cudnn8.5.0,以及创建conda虚拟环境(pytorch)

1、检查电脑驱动版本为561.09&#xff0c;选择cuda版本&#xff0c;下图可知cuda版本<12.6。 nvidia-smi #查看驱动版本&#xff0c;以及最大可以安装的cuda版本 2、Anaconda3-2024.06-1-Windows-x86_64.exe下载&#xff1a; 官网&#xff1a;https://www.baidu.com/link?…

STL之vector

vector简单介绍 vector是一个STL的一个容器&#xff0c;行为类似于变成数组&#xff0c;也就是存储空间是连续的&#xff0c;同时其空间大小又是动态可变的。 vector访问元素的效率很高可以通过下标直接访问&#xff0c;但是其占用的空间很多&#xff0c;插入删除元素的效率很…

PostMan使用变量

环境变量 使用场景 当测试过程中&#xff0c;我们需要对开发环境、测试环境、生产环境进行测试 不同的环境对应着不同的服务器&#xff0c;那么这个时候我们就可以使用环境变量来区分它们 避免切换测试环境后&#xff0c;需要大量的更改接口的url地址 全局变量 使用场景 当…

无人机集群路径规划:麻雀搜索算法(Sparrow Search Algorithm, SSA)​求解无人机集群路径规划,提供MATLAB代码

一、单个无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径&#xff0c;使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一&#xff0c;它可以通过算法和模型来确定无人机的航迹&#xff0c;以避开障碍物、优化…

Linux shell编程学习笔记81:zcat命令——快速查看压缩文件内容

0 引言 在 Linux shell编程学习笔记80&#xff1a;gzip命令——让文件瘦身-CSDN博客https://blog.csdn.net/Purpleendurer/article/details/141862213?spm1001.2014.3001.5501中&#xff0c;我们使用gzip命令可以创建压缩文件。那么&#xff0c;我们可以使用zcat命令来查看压…

Apache CVE-2021-41773 漏洞攻略

1.环境搭建 docker pull blueteamsteve/cve-2021-41773:no-cgid docker run -d -p 8080:80 97308de4753d 2.使用poc curl http://192.16.10.190:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd 3.工具验证

双击热备 Electron网页客户端

安装流程&#xff1a; 1.下载node.js安装包进行安装 2.点击Next; 3.勾选&#xff0c;点击Next; 4.选择安装目录 5.选择Online 模式 6.下一步执行安装 。 7.运行cmd,执行命令 path 和 node --version&#xff0c;查看配置路径和版本 8.Goland安装插件node.js 9.配置运行…

【数据结构与算法 | 灵神题单 | 自底向上DFS篇】力扣508, 1026, 951

1. 力扣508&#xff1a;出现次数最多的子树元素和 1.1 题目&#xff1a; 给你一个二叉树的根结点 root &#xff0c;请返回出现次数最多的子树元素和。如果有多个元素出现的次数相同&#xff0c;返回所有出现次数最多的子树元素和&#xff08;不限顺序&#xff09;。 一个结…