构建LAMP架构_lamp和lnmp区别

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

LAMP架构简介

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

Apache简介

Apache HTTP Server是开源软件项目的杰出代表,基于标准的 HTTP 网络协议提供网页浏览服务,在 Web 服务器领域中长期保持着超过半数的份额。Apache 服务器可以运行在 Linux、UNIX、Windows 等多种操作系统平台中。
Apache 服务器是针对之前出现的若干个 Web 服务器程序进行整合、完善后形成的软件,其名称来源于“A Patchy Server”,意思是“基于原有 Web 服务程序的代码进行修改(补丁)后形成的服务器程序”。

编译安装Apache

操作过程见前篇

编译安装Mysql

具体操作

yum -y install \            ##环境
ncurses \
ncurses-devel \
bison \
cmake

useradd -s /sbin/nologin  mysql        ##添加不可登录用户mysql

通过xftp工具传输软件包
cd /opt
tar zxf mysql-boost-5.7.20.tar.gz
cd /opt/mysql-5.7.20/

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_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=boost \
-DWITH_SYSTEMD=1

(配置选项含义)

DCMAKE_INSTALL_PREFIX:指定将 mysql 数据库程序安装到某目录下,如目录/usr/local/ mysql。
DMYSQL_UNIX_ADDR:指定套接字文件的存储路径,数据库连接的文件
DSYSCONFDIR:指定初始化参数文件目录
DDEFAULT_CHARSET:指定默认使用的字符集编码,如 utf8。
DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci 是适用于 UTF-8 字符集的通用规则。
DWITH_INNOBASE_STORAGE_ENGINE=1 :安装INNOBASE存储引擎
DWITH_ARCHIVE_STORAGE_ENGINE=1 :安装ARCHIVE存储引擎 
DWITH_BLACKHOLE_STORAGE_ENGINE=1 :安装ARCHIVE存储引擎 
DWITH_PERFSCHEMA_STORAGE_ENGINE :安装FEDERATED存储引擎 

操作过程(续)

make && make install           ##编译安装

chown -R mysql:mysql /usr/local/mysql/     ##调整权限
vi /etc/my.cnf            ##修改配置文件(清空原有内容)

[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

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

设置环境变量
chown mysql:mysql /etc/my.cnf
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export 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 start mysqld
systemctl status mysqld
netstat -anpt | grep 3306

设置登录密码
mysqladmin -u root -p password "abc123"
mysql -u root -p           ##登录

编译安装PHP

安装环境

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

传输文件后解压缩进行配置

cd /opt
tar jxf 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-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 HTTP Server 提供的 apxs 模块支持程序的文件位置
with-mysql-sock=/usr/local/mysql/mysql.sock 	###指定mysql的mysql.sock位置
with-mysqli 	###mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。
with-zlib				###支持zlib功能--压缩流
with-curl				###开启curl扩展功能
libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POSTHTTP PUTFTP 上传(这个也能通过PHPFTP扩展完成)HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。PHP中使用cURL实现Get和Post请求的方法
with-gd				###激活gd库的支持
with-jpeg-dir 				###要激活 jpeg 的支持
with-png-dir				###要激活png的支持
enable-mbstring 			###启用多字节字符串功能,以便支持中文等代码。

操作过程

make && make install
cp /php-7.1.10/php.ini-development /usr/local/php/lib/php.ini
vi /usr/local/php/lib/php.ini

mysqli.default_socket = /usr/local/mysql/mysql.sock
date.timezone = Asia/Shanghai

vi /etc/httpd.conf 

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

DirectoryIndex index.php index.html

rm -f /usr/local/httpd/htdocs/index.html
vi /usr/local/httpd/htdocs/index.php

<?php
phpinfo();
?>

systemctl restart httpd      ##重启apache

编译安装phpMyadmin

传输软件包并解压

cd /opt
unzip phpMyAdmin-4.7.6-all-languages.zip -d /opt/
mv /opt/phpMyAdmin-4.7.6-all-languages /usr/local/httpd/htdocs/myadm
cd /usr/local/httpd/htdocs/myadm
cp config.sample.inc.php config.inc.php
vi config.inc.php

$cfg['Servers'][$i]['host'] = '127.0.0.1'; //把localhost 改成IP

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184285.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PHP审计之BEESCMS审计案例

    PHP审计之BEESCMS审计案例审计流程任意文件包含文件存在即包含该文件,而包含的这个文件名可控,则需要找这个文件创建的地方functioncreat_inc($fl,$str){if(

    2021年12月13日
    42
  • 前端vue中文件下载的几种方式

    前端vue中文件下载的几种方式第一种方式是前端创建超链接,通过a标签的链接向后端服务发get请求,接收后端的文件流,非常简单:<a:href='”/user/downloadExcel”‘>下载模板</a>另一种情况是创建div标签,动态创建a标签:<divname=”downloadfile””downloadExcel()”>下载</div>function…

    2022年6月28日
    66
  • CSDN社区内容创作规范

    CSDN长久以来秉持初心,致力于为广大用户提供良好的创作环境,打造健康有序的技术生态!但良好的社区环境,需各位创作者与CSDN共同维护建立!【CSDN内容创作规范】请在发文前认真阅读:如你发布的内容存在以下问题,文章将无法通过审核,违规情节严重的,将对帐号进行封号处理。请各位创作者严格遵守社区的内容创作规范,共同守护我们的社区环境!目录一、在平台发布以下相关内容审核将不予通过1、违反法律法规和相关政策2、无资质发布专业领域内容3、流量作弊4、营销/推广引流5、不文明用语6、

    2022年4月8日
    102
  • 一个反射型XSS例子的解析

    一个反射型XSS例子的解析我们在访问一个网页的时候,在URL后面加上参数,服务器根据请求的参数值构造不同的HTML返回。如http://localhost:8080/prjWebSec/xss/reflectedXSS.jsp?param=value…上例中的value可能出现在返回的HTML(可能是JS,HTML某元素的内容或者属性)中,如果将value改成可以在浏览器中被解释执行的东西,就形成了反射型X

    2022年5月5日
    91
  • flex的使用_java中joptionpane是什么意思

    flex的使用_java中joptionpane是什么意思–> {account.text}

    2022年10月7日
    2
  • thinkphp—display与fetch区别

    thinkphp—display与fetch区别

    2021年10月28日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号