构建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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 字符串匹配算法_多字符串匹配

    字符串匹配算法_多字符串匹配文章目录1.BM(Boyer-Moore)算法1.BM(Boyer-Moore)算法思想:有模式串中不存在的字符,那么肯定不匹配,往后多移动几位,提高效率BM原理:坏字符规则,好后缀规则…

    2022年8月21日
    7
  • 解决SVN安装语言包后无法选择中文的问题(亲测可行)

    解决SVN安装语言包后无法选择中文的问题(亲测可行)

    2021年11月7日
    52
  • 100道最新Java面试题,常见面试题及答案汇总

    除了掌握扎实的专业技能之外,你还需要一份《Java程序员面试宝典》才能在万千面试者中杀出重围,成功拿下offer。小编特意整理了100道Java面试题,送给大家,希望大家都能顺利通过面试,拿下高薪。赶紧码住吧~~Q1:Java内部类和子类之间有什么区别?答案:内部类是指在一个外部类的内部再定义一个类,内部类对外部类有访问权限,可以访问类中定义的所有变量和方法。子类是从父类(superclass)中继承的类,子类可以访问父类所有public和protected的字段和方法。Q2:Java语言中有哪些

    2022年4月16日
    120
  • mysql 2059,1396,1130错误处理 Navicat远程连接数据库方式。

    mysql 2059,1396,1130错误处理 Navicat远程连接数据库方式。

    2022年2月20日
    43
  • 股票代码分类_选择股票从哪几个方面选

    股票代码分类_选择股票从哪几个方面选创业板:创业板的代码是300打头的股票代码沪市A股:沪市A股的代码是以600、601或603打头沪市B股:沪市B股的代码是以900打头深市A股:深市A股的代码是以000打头深圳B股:深圳B股的代码是以

    2022年8月2日
    10
  • 什么是路由懒加载_react 路由懒加载

    什么是路由懒加载_react 路由懒加载路由懒加载:整个网页默认是刚打开就去加载所有页面,路由懒加载就是只加载你当前点击的那个模块。按需去加载路由对应的资源,提高首屏加载速度(tip:首页不用设置懒加载,而且一个页面加载过后再次访问不会重复加载)。实现原理:将路由相关的组件,不再直接导入了,而是改写成异步组件的写法,只有当函数被调用的时候,才去加载对应的组件内容。传统路由配置:importVuefrom’vue’importVueRouterfrom’vue-router’importLoginfro

    2022年10月7日
    3

发表回复

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

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