lamp 架构的搭建

news2025/1/18 7:39:29

php 解释动态页面 php来连接数据库

mysql 页面信息和端口信息 存放数据

apache 前端web服务器,展现页面

源码编译安装这三个服务

配置下载apache:

systemctl stop firewalld 关闭安全机制,防火墙 可以一条命令:systemctl is-enabled firewalld 和 systemctl disable --now firewalld.service

systemctl disable firewalld

setenforce 0 /etc/selinux/config改文件为/etc/sysconfig/selinux的软连接 永久修改安全机制 SELINUX=disabled

cd /opt/

使用xshell将需要的文件或压缩包拉进虚拟机

yum -y install gcc c编译器 gcc-c++ c++编译器 make 源代码编译器,转二进制文件(编译器可执行) pcre 正则表达式 pcre-devel perl接口开发包 expat-devel 支持解析HTML,XML perl perl编译器

tar xf apr-1.6.2.tar.gz 两个apr包提供跨平台功能,提高并发,降低减少访问阻塞

tar xf apr-util-1.6.0.tar.gz -zxvf -jxvf 可简写为xf 这样就不会有太多的消息提示 for i in ls * `用来遍历

do

tar xf i

done

tar xf httpd-2.4.29.tar.bz2

mv -f apr-1.6.2 /opt/httpd-2.4.29/srclib/apr

mv -f apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util

cd /opt/httpd-2.4.29/

./configure指定安装路径 --enable解锁模块支持

./configure --prefix=/usr/local/httpd --enable-so启动动态加载模块支持 --enable-rewrite 网页地址重写功能,防盗链,网页优化,跳转域名(域名重写) --enable-charset-lite 启动字符集支持,默认英文开启才可以支持中文--enable-cgi脚本程序支持,

lscpu或者cat /proc/cpuinfo 查看cpu核数 top 显示cpu使用情况也可以看cpu核数

编译为可以执行的二进制程序

make -j 4 && make install

 

bin下为网站可执行程序,包含apache中的常用工具有httpd apachetcl ab压测工具(高并发压测)

使程序可以直接使用这些命令,可以直接配置环境变量(不用再指定绝对路径)PATH环境变量可以指定系统可以识别环境的路径。可以直接放在PATH下,也可以创建软连接方式。

conf 包含配置文件

htdocs 防止网页文档

logs 程序日志存放目录

modules 程序模块的存放目录

/usr/local/httpd/conf/httpd.conf设置软连接便于使用调用/etc/httpd.conf就可以调用该配置文件了

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

/usr/local/bin/ 系统用户安装的第三方配 置文件的位置

/usr/local/httpd/bin/ 存放的可执行文件的位置

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

将可执行文件复制到环境变量下,可以使用软连接

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

chmod +x /etc/init.d/httpd

手动创建一个管理httpd的脚本,httpd.service

kill-HUP 重载

只要httpd.service被修改后需要重新加载,systemctl daemon-reload

vi /etc/init.d/httpd

#!/bin/bash 申明脚本

运行级别 0关机 1 单用户 2 3 4 字符界面的多用户模式 5 图形化界面的多用户模式 6 重启

35 表示字符界面和图形界面的多用户模式 这两个模式下开机自启

85第85个启动 21 第21个关闭

# chkconfig: 35 85 21 centos7后都是systemctl并行启动。所以可以随便填

# description: Apache is a World Wide Web server

chkconfig --add httpd 将httpd服务加到系统管理中

chkconfig --list httpd 查看

systemctl start httpd.service 启动

vim /etc/httpd.conf

Esc 52G

Listen 192.168.92.30:80 相关的请求会发送到该地址和端口上

Esc 197G

ServerName www.kgc.com:80

Esc 221G

DocumentRoot "/usr/local/httpd/htdocs" 指定网页文件存放位置

Esc 255G

DirectoryIndex index.html 指定默认的网页首页文件名

httpd -t 检测apache配置文件是否有语法错误

cat /usr/local/httpd/htdocs/index.html

systemctl restart httpd.service

netstat -lnpt | grep 80 或者 ss -lntp | grep :80 或 lsof -i :80查看80端口

echo "192.168.92.30 www.wt.com" >> /etc/hosts

http://192.168.92.30

wt.com is for sale | www.brandforce.com

安装mysql:

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake mysql编译工具

cd /opt

tar xf mysql-5.7.17.tar.gz boost c++运行库

tar xf boost_1_59_0.tar.gz

mv -f boost_1_59_0 /usr/local/boost

cd /opt/mysql-5.7.17/

末尾\后面不能有空格

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 \utf-8校验规则

-DWITH_EXTRA_CHARSETS=all \存储引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1 \数据文件存储位置

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \存储引擎

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DMYSQL_DATADIR=/usr/local/mysql/data \目录放置位置

-DWITH_BOOST=/usr/local/boost \指定boost路径真实的boost目录

-DWITH_SYSTEMD=1 \生成管理文件

/opt/mysql-5.7.17

make -j 4 && make install

useradd -M -s /sbin/nologin mysql 创建mysql用户 即创建程序用户 挂个名

vim /etc/my.cnf

[client]

port = 3307 端口号

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

auto-rehash

[mysql]

port = 3307

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

auto-rehash

[mysqld]

user = mysql

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port = 3307

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 一条命令中可能包含多个mysql语句

server-id = 1 mysql 服务器号

sql模式的设置:

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

chown -R mysql:mysql /usr/local/mysql/

chown mysql:mysql /etc/my.cnf

使得每次都可以生效 配置永久环境变量

每次启动都会启动/etc/profile的配置

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 数据放置目录

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 3307

mysqladmin -u root password "abc123" 用户密码

mysql -uroot -pabc123 -P3307登录

grant all privileges on . to 'root'@'%' identified by 'abc123';授权所有权限所有库所有表登录的root用户可以在任何登录密码都是abc123

show databases;

quit

PHP安装:

cd /opt

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

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 \ apax

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

--with-config-file-path=/usr/local/php7 \php配置文件php.ini位置

--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 -j 4 && make install

cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini

vim /usr/local/php7/php.ini

1170G

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

939G

取消注释

date.timezone = Asia/Shanghai

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

php -m 查看php加载的模块

vim /etc/httpd.conf

393G

AddType application/x-httpd-php .php

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

255G

DirectoryIndex index.html index.php 默认首页

/LoadModule php7_module modules/libphp7.so 有这两个模块说明aphcach和mysql 是否配置成功

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

vim /usr/local/httpd/htdocs/index.php 在php网页显示信息

<?php

phpinfo();

?>

systemctl restart httpd.service

http://192.168.92.30

架构使用例子:

安装论坛:

动态页面网站需要创建数据库与数据库交互

mysql -uroot -pabc123 -P3307

CREATE DATABASE bbs; 创建bbs数据库

GRANT all ON bbs数据库名.* TO 'bbsuser用户名'@'%任意地址' IDENTIFIED BY 'admin123密码'; 授权设定用户名和密码

flush privileges;刷新

show databases;

quit

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 | grep httpd

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.92.30/bbs

http://192.168.92.30/bbs/admin.php

数据库服务器:localhost

数据库名字:bbs

数据库用户名:bbsuser

数据库密码:admin123

管理员账号:admin

管理员密码:admin123

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

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

相关文章

【推荐系统】model 落地(样本/特征/预测服务)

兜率宫小道童的个人空间-兜率宫小道童个人主页-哔哩哔哩视频&#xff08;如下是该视频课系列的笔记&#xff09; 1-深度学习在搜索、广告、推荐系统中的应用-业务问题建模_哔哩哔哩_bilibili 其他章节 目录 二、深度学习落地 模型训练服务流程 1-样本生成-标签拼接 1-样本…

OJ练习第73题——解数独

解数独 力扣链接&#xff1a;37. 解数独 题目描述 编写一个程序&#xff0c;通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&#xff1a; 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一…

MySQL-中间件mycat(二)

目录 &#x1f341;部署主从复制 &#x1f341;mycat读写分离 &#x1f342;修改配置文件 &#x1f342;设置balance与writeType &#x1f342;设置switchType与slaveThreshold &#x1f342;启动程序 &#x1f342;验证读写分离 &#x1f341;垂直拆分-分库 &#x1f342;实现…

【从零开始学Skynet】基础篇(九):调试控制台服务

Skynet自带了一个调试控制台服务debug_console&#xff0c;启动它之后&#xff0c;可以查看节点的内部状态。 1、启用调试控制台 &#xff08;1&#xff09;在skynet/examples目录下新建main_console.lua文件&#xff0c;代码如下所示&#xff1a; local skynet require &quo…

【Python_Scrapy学习笔记(二)】创建Scrapy爬虫项目

创建Scrapy爬虫项目 前言 本文主要介绍如何创建并运行 Scrapy 爬虫项目。 正文 1、创建 Scrapy 框架 Scrapy 框架提供了 scrapy 命令用来建立 Scrapy 工程&#xff0c;在终端 terminal 中输入以下命令&#xff1a; scrapy startproject 自定义的项目名称创建好爬虫项目文件…

2023年超实用的27个VSCode插件推荐

Visual Studio Code&#xff0c;或者称作VS Code&#xff0c;是一个广为人知且评价很高的代码编辑器&#xff0c;它有许多特性和扩展功能&#xff0c;以增强开发体验。使用VS Code的主要好处之一是它的灵活性&#xff0c;允许开发人员根据自己的特定需求进行自定义。此外&#…

02-app漏洞发现

漏洞发现-APP应用之漏洞探针类型利用修复 一、思维导图&#xff1a; 思路说明&#xff1a; apk反编译提取URL或抓包获取url&#xff0c;进行web应用测试&#xff0c;如不存在或走其他协议的情况下&#xff0c;需采用网络接口抓包进行数据获取&#xff0c;转至其他协议安全测试…

【jvm系列-05】精通运行时数据区共享区域---方法区

JVM系列整体栏目 内容链接地址【一】初识虚拟机与java虚拟机https://blog.csdn.net/zhenghuishengq/article/details/129544460【二】jvm的类加载子系统以及jclasslib的基本使用https://blog.csdn.net/zhenghuishengq/article/details/129610963【三】运行时私有区域之虚拟机栈…

Redis 6.0的多线程是如何工作的

来了解下 6.0 版本中新出的多线程特性。 1、多线程处理网络IO&#xff0c;单线程执行命令 Redis 一直被大家熟知的就是它的单线程架构&#xff0c;虽然有些命令操作可以用后台线程或子进程执行&#xff08;比如数据删除、快照生成、AOF 重写&#xff09;&#xff0c;但是&…

freeswitch带媒体压力测试方案

概述 原本的计划是使用sipp完成带媒体压力测试&#xff0c;但是实际测试过程中发现sipp的媒体处理功能有问题&#xff08;也有可能是我使用的姿势不对&#xff09;。 sipp在带媒体的情况下&#xff08;600路并发开始&#xff09;&#xff0c;出现大量的不响应和响应延迟&…

请求响应-响应

前面已经说了我们重点关注的就是XXXcontroller类 进行请求接收 和响应 接收参数那些我们在请求部分讲过了 现在我们来处理响应部分 响应 设置响应数据 可以发现其实我们之前都是设置过的 比如那个Hello World 浏览器都接收到了且在浏览器上进行了输出 这里的是返回值作为这个…

Direct3D 12——纹理——纹理

纹理不同于缓冲区资源&#xff0c;因为缓冲区资源仅存储数据数组&#xff0c;而纹理却可以具有多个mipmap层级(后 文有介绍)&#xff0c;GPU会基于这个层级进行相应的特殊操作&#xff0c;例如运用过滤器以及多重采样。支持这些特殊 的操作纹理资源都被限定为一些特定的数据格式…

7 个最好的 Word 转 PDF 转换器

如果您使用 Word 文件&#xff0c;您可能在某个时候遇到过将 Word 文件转换为 PDF 的紧迫问题。PDF 文件有很多优点。它们通常更紧凑&#xff0c;无论您在哪里打开它们看起来都一样。PDF 还允许您共享文档&#xff0c;而不必冒有人更改内容的风险。那么如何将 Word 文档转换为 …

小白学网络安全要学些什么?

一.网络安全学些什么呢&#xff1f; 虽然网上已经有非常多的学习路线了&#xff0c;但是仍然有很多零基础的小白还是不懂网络安全到底应该要怎么去学习&#xff0c;我也经常会在后台收到这样的问题“我想学网络安全&#xff0c;需要先学编程语言吗&#xff1f;”、“学渗透就业…

【python零碎】

1. 拼接字符中&#xff0c;插入变量 >>> shepherd "Mary" >>> age 32 >>> stuff_in_string "Shepherd {} is {} years old.".format(shepherd, age) >>> print(stuff_in_string) Shepherd Mary is 32 years old. &…

HIT-CSAPP 第五章 面向程序的优化方法(1)

考纲: 1.面向程序性能的优化 面向编译器的程序优化方法:减少过程调用、减少内存引用、指令并行等方法等方法。面向流水线、超标量、向量CPU的程序优化方法。 2.存储器的层次结构 优化编译器的能力和局限性 内存别名使用妨碍函数优化 void twiddle1(long *xp, long *yp){ //…

ERTEC200P-2 PROFINET设备完全开发手册(4-1)

ERTEC200P-2作为应用处理器&#xff0c;既可以单独使用&#xff0c;通过GPIO扩展实现基本的IO功能。也可以配合外部主机&#xff08;例如单片机&#xff09;实现更复杂的应用。ERTEC200P-2与外部主机接口的示意图如下。常用的接口包括UART&#xff0c;SPI&#xff0c;XHIF接口。…

MSI: 基于多元同步索引的SSVEP频率识别算法

MSI: 基于多元同步索引的SSVEP频率识别算法1.算法背景2.算法原理3.Python代码实现1.算法背景 脑机接口&#xff08;Brain-Computer Interface, BCI&#xff09;因其在神经工程与神经科学中的广泛应用价值而备受研究者们的关注。BCI系统可以在人类或动物被试与外部设备之间提供…

“深元AI”赋能传统加油站智能化转型,全力打造新一代智慧加油站

历届的全国两会和党代会上&#xff0c;“安全生产”始终是核心议题。党的二十大报告提出&#xff1a;推动公共安全治理模式向事前预防转型&#xff0c;并强调要加强重点行业、重点领域安全监管&#xff0c;提高防灾减灾救灾和重大突发公共事件处置保障能力。同时&#xff0c;国…

Linux_vim编辑器

Vi编辑器是所有Unix及Linux系统下标准的编辑器&#xff0c;类似于windows系统下的notepad&#xff08;记事本&#xff09;编辑器&#xff0c;由于在Unix及Linux系统的任何版本&#xff0c;Vi编辑器是完全相同的&#xff0c;因此可以在其他任何介绍vi的地方都能进一步了解它&…