构建LAMP架构_lamp和lnmp区别

2022-11-07 14:42:00 浏览数 (3)

LAMP架构

  • LAMP架构简介
  • Apache简介
    • 编译安装Apache
  • 编译安装Mysql
  • 编译安装PHP
  • 编译安装phpMyadmin

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

具体操作

代码语言:javascript复制
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

(配置选项含义)

代码语言:javascript复制
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存储引擎 

操作过程(续)

代码语言:javascript复制
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

安装环境

代码语言:javascript复制
yum -y install 
libjpeg 
libjpeg-devel 
libpng libpng-devel 
freetype freetype-devel 
libxml2 
libxml2-devel 
zlib zlib-devel 
curl curl-devel 
openssl openssl-devel

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

代码语言:javascript复制
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

配置选项含义

代码语言:javascript复制
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 POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名 密码的认证。PHP中使用cURL实现Get和Post请求的方法
with-gd				###激活gd库的支持
with-jpeg-dir 				###要激活 jpeg 的支持
with-png-dir				###要激活png的支持
enable-mbstring 			###启用多字节字符串功能,以便支持中文等代码。

操作过程

代码语言:javascript复制
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

传输软件包并解压

代码语言:javascript复制
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.cn/184285.html原文链接:https://javaforall.cn

0 人点赞