一 :LAMP
L:linux
A:apache
M:mysql
P:php
三个角色可以在同一台机器也可以分开(Apache和PHP要在一起)
## 1.1 工作模式:
PHP是以模块的形式与Apache结合在一起,Apache通过PHP模块到MySQL上取数据,PHP模块拿到数据后再传给Apache,Apache在传输给用户。(这是一个动态请求)
二 :先上传所需要的源码包
一 :Apache 安装
pache是一个基金会的名称,httpd是我们需要使用的安装包 安装httpd时需要安装apr和apr-util。这两个是一个通用函数库,可以使httpd不关心底层操作系统平台,方便移植
下载安装包
安装httpd-2.4.39.tar.gz,apr-util-1.6.1.tar.gz,apr-1.6.5.tar.gz 这三个安装包
yum install apr-devel apr-util-devel -y
tar -xzf httpd-2.4.16.tar.gz -C /root/LAMP/
注:我们这个使用yum安装所需包
1.1编译脚本
1.2 编译apr
cd apr-1.6.5
./configure --prefix=/usr/local/apr //编译过程报错问题在下面,解决后进行下一步
make && make install
问题一 无法编译 需要下载编译工具
yum install -y gcc gcc-c++
问题二 缺少libtoolT库,需要安装库文件
yum install -y libtool*
安装完成后可以再次编译查看有无报错
./configure --prefix=/usr/local/apr
会提示警告,可以忽略
1.3 安装apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install //安装会报错问题如下
问题一 缺少expat.h文件,下载
yum install -y expat-devel
安装完成后再进行一次make && make install
1.4 安装httpd
cd httpd-2.4.39
~~~shell
./configure --prefix=/usr/local/apache --enable-so --enable-rewrite
make
make install
出现这个则表示编译成功 make make install
2 .测试是否完成
httpd 路径在
/usr/local/apache/
启动文件在
/usr/local/apache/bin/
./apachectl start
如果启动有如下警报则编译配置文件 配置目录在
/usr/local/apache/conf
vim httpd.conf
改为自己服务器IP
httpd发布目录在
/usr/local/apache/htdocs
这样就没有了
2.查看进程httpd是否启动
ps -ef |grep httpd
3.浏览器测试httpd是否安装完成
http://101.35.115.129/
二: MYSQL数据库安装
2.1 知识拓展: 了解MySQL,常见的关系型数据库。mariadb是MySQL的一个分支,MySQL分为社区版本,企业版本,通用版本,开发版本,发行候选版本,开放测试版本,内部测试版本 2.2 安装MySQL MySQL的常用安装包:rpm,源码包,二进制免编译包。
1.下载二进制免编译包
下载二进制免编译包mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz ,存放到/usr/local/src目录下(此目录用于存放各种安装包文件)
2.解压免编译包
解压二进制免编译包
2.1 解压
tar -xzf mysql-5.6.26.tar.gz -C /root/LAMP/
2.2 初始数据库
** 2.2创建数据存放目录** 创建一个用于存放数据的目录
mkdir -p /data/mysql
2.3 创建mysql用户 给用户组和用户的权限
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /data/mysql
ls -la /data/mysql/
2.4 yum安装编译软件
yum install cmake ncurses-devel ncurses -y
2.5 编译
cd /root/mysql-5.7.17
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56/ \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0
make
make install
解释:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 Cmake预编译
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock MYSQL Socket通信文件位置
-DMYSQL_DATADIR=/data/mysql MYSQL数据存放路径
-DSYSCONFDIR=/etc 配置文件路径
-DMYSQL_USER=mysql MYSQL运行用户
-DMYSQL_TCP_PORT=3306 MYSQL监听端口
-DWITH_XTRADB_STORAGE_ENGINE=1 开启xtradb引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1 开启innodb引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1 开启partition引擎支持
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 开启blackhole引擎支持
-DWITH_MYISAM_STORAGE_ENGINE=1 开启MyISAM引擎支持
-DWITH_READLINE=1 启用快捷键功能
-DENABLED_LOCAL_INFILE=1 允许从本地导入数据
-DWITH_EXTRA_CHARSETS=1 支持额外的字符集
-DDEFAULT_CHARSET=utf8 默认字符集UTF-8
-DDEFAULT_COLLATION=utf8_general_ci 检验字符
-DEXTRA_CHARSETS=all 安装所有扩展字符集
-DWITH_BIG_TABLES=1 将临时表存储在磁盘上
-DWITH_DEBUG=0 禁止调试模式支持
make 编译
make install ![请添加图片描述](https://img-blog.csdnimg.cn/4f412fb0393d455d8e0c01f10d9aa65b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaHVhaXFpdXlh,size_20,color_FFFFFF,t_70,g_se,x_16)
安装
表示环境没有问题了
开始编译
make
Scanning dependencies of target INFO_BIN
[ 0%] Built target INFO_BIN
Scanning dependencies of target INFO_SRC
[ 0%] Built target INFO_SRC
Scanning dependencies of target abi_check
[ 0%] Built target abi_check
Scanning dependencies of target zlib
[ 0%] Building C object zlib/CMakeFiles/zlib.dir/adler32.c.o
[ 0%] Building C object zlib/CMakeFiles/zlib.dir/compress.c.o
[ 0%] Building C object zlib/CMakeFiles/zlib.dir/crc32.c.o
[ 0%] Building C object zlib/CMakeFiles/zlib.dir/deflate.c.o
[ 0%] Building C object zlib/CMakeFiles/zlib.dir/gzio.c.o
[ 0%] Building C object zlib/CMakeFiles/zlib.dir/infback.c.o
[ 0%] Building C object zlib/CMakeFiles/zlib.dir/inffast.c.o
[ 0%] Building C object zlib/CMakeFiles/zlib.dir/inflate.c.o
[ 0%] Building C object zlib/CMakeFiles/zlib.dir/inftrees.c.o
[ 0%] Building C object zlib/CMakeFiles/zlib.dir/trees.c.o
[ 0%] Building C object zlib/CMakeFiles/zlib.dir/uncompr.c.o
[ 0%] Building C object zlib/CMakeFiles/zlib.dir/zutil.c.o
2.6 修改mysql配置文件
cd /usr/local/mysql56/
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
注:直接拷贝脚本安装包文件里的配置文件(support-files/my-default.cnf)
因为CentOS7安装完成后会有默认的配置文件(/etc/my.cnf)直接覆盖即可
3 修改配置文件
cd /etc/
cp my.cnf my.cnf.back
vim my.cnf
配置文件:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
user = mysql
basedir = /usr/local/mysql57
datadir = /data/mysql/
pid-file = /data/mysql/mysql.pid
log_error = /data/mysql/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/mysql-slow.log
skip-external-locking
key_buffer_size = 32M
max_allowed_packet = 1024M
table_open_cache = 128
sort_buffer_size = 768K
net_buffer_length = 8K
read_buffer_size = 768K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
thread_cache_size = 16
query_cache_size = 16M
tmp_table_size = 32M
performance_schema_max_table_instances = 1000
explicit_defaults_for_timestamp = true
3.1 执行脚本
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql56/
3.2 尝试启动mysql
systemctl mysql start
/etc/init.d/ start ,restart,stop
Starting MySQL SUCCESS!
测试连接
cd /usr/local/mysql57/bin
./mysql -hlocalhost -uroot -p
ln -s /usr/local/mysql57/bin/* /usr/bin/
如果启动MySQL不成功
/etc/init.d/mysqld stop
ps -ef | grep mysq
mkdir -p /var/lib/mysql
ln -s /tmp/mysql.scok /var/lib/mysql/mysql.scok
/usr/local/mysql56/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql56/
/etc/init.d/mysqld start
|