LAMP平台

概述

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP网页编程语言。
在构建LAMP平台时,各组件的安装顺序依次为Linux,Apache,MySQL,PHP。其中Apache和MySQL的安装并没有严格的顺序要求,而PHP环境的安装一般放到最后,负责沟通web服务器和数据库系统以协同工作。
优势:成本低廉;可定制、易于开发;方便易用、安全和稳定。

apache

在这里插入图片描述

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
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
yum -y install gcc gcc-c++ make pcre-devel expat-devel perl

cd httpd-2.4.29         --进入httpd主目录
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi          --指定装入默认/usr/local/httpd;增加扩展功能模块,重写模块,字符集,客户端访问接口
make && make install

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd    --能自启动

vi /etc/init.d/httpd         --添加
#chkconfig: 35 85 21       --35级别图形化界面自动运行,第85个启动,第21个关闭
#description: Apache HTTP Server           --描述信息

chkconfig --add httpd    #将httpd加入到SERVICE管理器
chkconfig --list    #检查一下http的3和5是开的
systemctl enable httpd       #开启服务自启动

ln -s /usr/local/httpd/conf/httpd.conf /etc/   --链接到/etc下方便管理
ln -s /usr/local/httpd/bin/* /usr/bin/    --把所有命令链接到/usr/bin/下
vi /etc/httpd.conf      --修改配置文件
ServerName www.aa.com:80      --修改名称,去掉注释

systemctl stop firewalld       --关闭防火墙
setenforce 0
apachectl -t    --检查语法
Syntax 0K
systemctl restart httpd      --重启服务
echo "<h1>this is my web site.</h1>" > /usr/local/httpd/htdocs/index.html      --制作网页
netstat -anpt | grep httpd   --查看监听端口

在这里插入图片描述

mysql

安装

ncurses-devel:字符终端下屏幕控制的基本库
autoconf :可以自动配置软件源代码
cmake:跨平台编译安装工具

yum -y install ncurses-devel autoconf cmake
tar zxvf mysql-boost-5.7.20.tar.gz  --mysql源码包解压

cd mysql-5.7.20/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \      --安装目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \      --指定套接字文件的存储路径,客户端访问mysql的接口,缺少文件无法被访问
-DSYSCONFDIR=/etc \       --配置my.cnf的目录,路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \    --主服务进程所在路径
-DDEFAULT_CHARSET=utf8 \     --默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \   --默认编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \   --启用InnoDB引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \    --启用ARCHIVE引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \    --启用BLACKHOLE引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \    --启用perfschema引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \     --数据存储路径,数据库
-DWITH_BOOST=boost \     --boost库是为C++语言标准库提供扩展的一些C++程序库的总称
-DWITH_SYSTEMD=1    --DWITH_SYSTEMD=1这是MySQL 5.7原生支持Systemd的选项,如果要是用systemct1启动,就必须开启。

make && make install
chown -R mysql:mysql /usr/local/mysql/     --执行权限

PS:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧。

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    --每个数据库的id必须不一样

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    --模式

环境变量

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

初始化

mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
cd /usr/local/mysql/
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
systemctl daemon-reload   --守护进程重新加载
systemctl start mysqld    
netstat -anpt | grep 3306
systemctl enable mysqld  --自启动
mysql     --登录

在这里插入图片描述

密码设置

mysqladmin -uroot -p password '123456'
mysql -uroot -p
输入密码123456

修改密码

方法1:SET PASSWORD命令

mysql> set password for root@localhost = password('123123');
可简写为:
mysql> set password=password( ‘123123’ ) ;

在这里插入图片描述
方法2:mysqladmin

mysqladmin -uroot -p123456 password 123123

方法3:UPDATE直接编辑user表

mysql> use mysql;
mysql> update mysql.user set authentication_string = password(‘123456’) where user='root’ and host='localhost’;
mysql> flush privileges;

忘记mysql密码

vi /etc/my.cnf
末尾添加
[mysqld]    
skip_name_resolve   
skip_grant_tables      
bind-address=0.0.0.0     --所有地址都适用

systemctl restart mysqld      --重启服务
mysql      --登录
mysql>       --可进行修改密码操作,改完注释掉上面配置重启服务

php

安装

同样的,导入软件包

tar jxvf php-7.1.10.tar.bz2
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

libjpeg libjpeg- devel: jpeg图像压缩库
libpng libpng-devel: png图像压缩库
freetype freetype-devel: 字体引擎,统一的接口访问多种字体格式文件
libxml2 libxml2- devel: xml程序库,用来对xml文件进行解析
zlib zlib-devel: 数据压缩用的函式库,可相当轻松的通过把压缩数据写入到有gzip头的文件中
curl curl-devel: 利用URL规则在命令行下工作的文件传输工具
openssl openssl-devel: OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。

配置选项

./configure
--prefix=/usr/local/php \--安装路径
--with- apxs2=/usr/ local/ht tpd/bin/apxs\#让apache支持php,
--with-mysql-sock=/usr/ local/mysql/mysql. sock \ --指明mysq1的套接字路径
--with-mysqli \. --调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定
--with-zlib \ --打开zlib函式库
--with-curl \ --调用curl规则
--with-gd \#打开gd库,gd库是为了创建新图像或处理已有的图像
--with-jpeg-dir \ --让gd库支持jpeg格式
--with-png-dir \--让gd库支持png格式
--with- freetype-dir \--打开字体引擎
--with-openssl \ --打开ss1安全套接字功能
--enable-mbstring \--开启mbstring扩展,有了这个功能可设置其支持utf-8编码
--enable-xml \ --支持XML文件格式
--enable-session \ --开启会话保持功能
--enable-ftp \--开启ftp扩展
--enable-pdo--PD0作用是统--各种数据库的访问接口
--enable- tokenizer \ --分词器,Tokenizer实际上只是生成了一个字典,并且统计了词频等信息
--enable-zip --打开对zip文件的支持

配置内容

make && make install
cp php. ini-development /usr/local/php/lib/php.ini
vi /usr/ local/php/lib/php.ini
mysqli. default_socket = /usr/local/mysql/mysql.sock  --当访问php文件时,将后台数据库指向该路径,怎么连接
date.timezone = Asia/Shanghai  --时区设定

/usr/local/php/bin/php -m   --检验安装的模块

vi /etc/httpd.conf  --添加
AddType application/x-httpd-php .php  
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html  --优先访问index.php

存在文件代表php安装成功
在这里插入图片描述
测试

vi /usr/local/httpd/htdocs/index.php
php测试页
<?php
phpinfo();
?>

systemctl restart httpd

http://localhost//将会访问php主页
http://localhost/index.html//将会访问静态网页html的主页
数据库与php的联通

数据库与php的联通

测试数据库

mysql -u root -p
mysql> create database myadm;  --创建一个数据库
mysql> grant all privileges on myadm.* to 'myadm'@'localhost' identified by 'admin123'   --本地授权
mysql> grant all privileges on myadm.* to 'myadm'@'%' identified by 'admin123';  --远程授权
mysql> flush privileges;  --刷新

%:表示范围,任意,on作用在那个库下面

php网页文件

vi /usr/local/httpd/htdocs/index.php
<?php
$link=mysqli_connect('20.0.0.11','myadm','admin123');
if($link) echo "<h1>Success!</h1>";  
else echo "Fail!";
?>

安装phpMyadmin

unzip phpMyAdmin-4.7.6-all-languages.zip 
mv phpMyAdmin-4.7.6-all-languages  /usr/local/httpd/htdocs/myadm   --拷贝这个语言到http站点下面
cp /usr/local/httpd/htdocs/myadm/config.sample.inc.php /usr/local/httpd/htdocs/myadm/config.inc.php 

vi config.inc.php
$cfg['server'][$i]['host'] = '20.0.0.11'   

在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页