LAMP
LAMP配置与应用
配置
LAMP 架构的组成
LAM(M)P:
-
L:linux
-
A:apache (httpd)
-
M:mysql, mariadb
-
P:php, perl, python
应用 :
编译实现LAMP
1.编译安装Apache http 服务
1环境准备
关闭防火墙,将安装Apache所需软件包传入/opt目录下
[root@localhost opt]# systemctl stop firewalld.service
[root@localhost opt]# setenforce 0
2安装环境依赖包
[root@localhost opt]# yum -y install gcc gcc-c++ make pcre-devel expat-devel perl pcre zlib-devel zlib
3下载解压软件包
下载安装包到/opt/下:apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
mysql-boost-5.7.20.tar.gz php-7.1.10.tar.bz2
[root@localhost ~]# cd /opt/
[root@localhost lamp]# tar xf apr-1.6.2.tar.gz
[root@localhost lamp]# tar xf apr-util-1.6.0.tar.gz
[root@localhost lamp]# tar jvxf httpd-2.4.29.tar.bz2
[root@localhost lamp]# ls
apr-1.6.2 apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
apr-1.6.2.tar.gz Discuz_X2.5_SC_UTF8.zip mysql-5.6.26.tar.gz
apr-util-1.6.0 httpd-2.4.29 php-5.6.11.tar.bz2
4移动apr包 apr-util包到安装目录中,并切换到 httpd-2.4.29目录中
[root@localhost lamp]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost lamp]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@localhost lamp]# ls
apr-1.6.2.tar.gz httpd-2.4.29 php-5.6.11.tar.bz2
apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
Discuz_X2.5_SC_UTF8.zip mysql-5.6.26.tar.gz
[root@localhost lamp]# cd httpd-2.4.29
[root@localhost】# ls
5编译安装
[root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
[root@localhost httpd-2.4.29]# make -j2 && make install
6方便操作建立软连接
[root@localhost httpd-2.4.29]#cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
#将文件拷入/etc/init.d/httpd
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
#建立配置文件软连接放入etc目录下
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
#将启动文件放入/usr/local/bin/目录下可以直接使用
7添加httpd系统服务
[root@localhost mysql-5.6.26]#vim /lib/systemd/system/httpd.service
#创建 httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP ${MAINPID}
ExecStop=/bin/kill -WINCH ${MAINPID}
[Install]
WantedBy=multi-user.target
[root@localhost system]# systemctl start httpd.service
Warning: httpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
[root@localhost system]# systemctl daemon-reload
[root@localhost system]# systemctl start httpd.service
[root@localhost system]# netstat -ntap |grep 80
tcp6 0 0 :::80 :::* LISTEN 121165/httpd
2.编译安装 mysql
1.安装依赖包添加mysql用户
yum install -y ncurses-devel autoconf cmake
新建用户
useradd -s /sbin/nologin mysql
2解压软件包并切换到编译目录,并编译安装
###上传mysql-boost-5.7.20.tar.gz到opt目录下###
cd /opt
tar xf 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 \ 安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 安装ARCHIVE存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 安装BLACKHOLE存储引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ 安装FEDERATED存储引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
3编译安装
make -j4 && make install
4 数据库目录进行权限调整
chown -R mysql:mysql /usr/local/mysql/
5 建立调整配置文件
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
6 修改配置文件权限
cd .. #cd到上文件
chown mysql:mysql /etc/my.cnf
7 设置环境变量
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile
8初始化 数据库
cd /usr/local/mysql/
bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
2.2.9 准备systemctl 配置文件
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl enable mysqld
systemctl start mysqld
systemctl status mysqld
netstat -anpt | grep 3306
2.2.10 修改数据库密码
mysqladmin -u root -p password "abc123" //刚开始没密码是空的直接回车,
2.2.11 登录数据库
mysql -u root -p ##这个命令敲下,提示要输入密码,这个就是刚才设置的密码abc123
3.编译安装 php
1安装依赖包
yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
安装GD库和GD库关联程序,用来处理和生成图片
2前期准备 解压
配置软件模块
cd /opt
tar jxvf php-7.1.10.tar.bz2
cd /opt/php-7.1.10/
3 编译安装
./configure \
--prefix=/usr/local/php7 \ 指定将 PHP 程序的安装路径
--with-apxs2=/usr/local/httpd/bin/apxs \ 指定Apache httpd服务提供的apxs 模块支持程序的文件位置
--with-mysql-sock=/usr/local/mysql/mysql.sock \ 指定mysql 数据库连接文件的存储路径
--with-config-file-path=/usr/local/php7 设置 PHP 的配置文件 php.ini 将要存放的位置
--with-mysqli \ 添加 MySQL 扩展支持 #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定
--with-zlib \ 支持zlib功能,提供数据压缩
--with-curl \ 开启curl扩展功能,实现HTTP的Get下载和Post请求的方法
--with-gd \ 激活gd 库的支持
--with-jpeg-dir \ 激活jpeg 的支持
--with-png-dir \ 激活png 的支持
--with-freetype-dir \
--with-openssl \
--enable-mbstring \ 启用多字节字符串功能,以便支持中文等代码
--enable-xml \ 开启扩展性标记语言模块
--enable-session \ 会话
--enable-ftp \ 文本传输协议
--enable-pdo \ 函数库
--enable-tokenizer \ 令牌解释器
--enable-zip ZIP压缩格式
4 编译
make -j2 && make install
5 修改配置文件
cp /data/php-7.1.10/php.ini-development /usr/local/php7/php.ini
#复制模版文件作为PHP 的主配置文件,并进行修改
vim /usr/local/php7/php.ini
mysqli.default_socket = /usr/local/mysql/mysql.sock --1170行--修改 1170 G,大写的G,直接跳转
date.timezone = Asia/Shanghai --939行---修改
6 优化操作
PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/php7/bin/* /usr/local/bin/
php -m 查看PHP 加载了哪些模块
7 修改httpd 服务的配置文件,让apache支持PHP
vim /etc/httpd.conf
AddType application/x-httpd-php .php --393行--插入以下内容(插在下面,原行不删)
AddType application/x-httpd-php-source .phps ##这里的点前面空格一定要加,否则报错
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.html index.php --255行--修改首页文件名设置
LoadModule php7_module modules/libphp7.so ---156行 ---检查支持php7的模块是否存在(可以用'/'在文件中查找 )
systemctl restart httpd
重启服务
8验证PHP 测试页
rm -rf /usr/local/httpd/htdocs/index.html
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
systemctl restart httpd.service
9 验证是否连接成功
http://192.168.91.100/index.php
4 安装论坛
1 新建数据库
mysql -uroot -pabc123
mysql> CREATE DATABASE bbs; //创建一个数据库//
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123'; //把bbs数据库里面所有表的权限授予给bbsuser,并设置密码//
GRANT all ON blog.* TO 'bloguser'@'%' IDENTIFIED BY 'admin123';
mysql>flush privileges; //刷新数据库//
2准备论坛软件 解压
[root@localhost opt]# unzip /opt/Discuz_X2.5_SC_UTF8.zip
3 复制到 apache 目录下
cp -r upload/ /usr/local/httpd/htdocs/bbs
4修改权限
cd /usr/local/httpd/htdocs/bbs
chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data
5 安装论坛
浏览器中输入http://192.168.91.100/bbs/index.php
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程