Linux必须会的基本架构之LAMP,妈妈再也不用担心我学习了!!
Posted 28线不知名云架构师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux必须会的基本架构之LAMP,妈妈再也不用担心我学习了!!相关的知识,希望对你有一定的参考价值。
一、LAMP概念
1.1 lamp是什么?
①LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境
②LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,mysql数据库服务器,php(或perl,Python)网页编程语言
## 1.2 lapm架构的构建顺序
①在构建LAMP平台时,各组件的安装顺序依次为Linux,Apache,MySQL,PHP
②其中Apache和MySQL的安装并没有严格的顺序要求,而PHP环境的安装一般放到最后,负责沟通web服务器和数据库系统以协同工作
二、编译安装
2.1 编译安装的优点
具有较大的自由度,功能可定制
可及时获得最新的软件版本
普遍适用于大多数Linux版本,便于一直使用
三、LAMP各组件之间的作用
①(平台)Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台) 。
②(前台)Apache:作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容。
③(后台)MySQL:作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息。
④(中间连接)PHP/Perl/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到html中,尤其适合于Web应用开发。
四、安装apache
4.1 安装前准备
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
4.2 解压缩安装包,并放在/opt目录下
tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz
tar xf 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
4.3 下载apache所需要的组件
gcc \\ #C语言的编译器
gcc-c++ \\ #C++的编译器
make \\ #源代码编译器(源代码转换成二进制文件)
pcre \\ #pcre是一个Perl函数库,包括perl 兼容的正则表达式库
pcre-devel \\ #perl的接口开发包
expat-devel \\ #用于支持网站解析HTML、XML文件
perl #perl语言编译器
yum -y install gcc gcc-c++ make pcre-devel expat-devel perl
4.4 上传httpd
cd httpd-2.4.29
cd /opt/httpd-2.4.29/
./configure \\
--prefix=/usr/local/httpd \\
--enable-so \\
--enable-rewrite \\
--enable-charset-lite \\
--enable-cgi
make && make install
--------------------------------
./configure \\
--prefix=/usr/local/httpd \\ #指定 httpd 服务程序的安装路径
--enable-so \\ #启用动态加载核心模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \\ #启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \\ #启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi #启用CGI(通用网关接口)脚本程序支持,便于增强网站的外部扩展应用访问能力
4.5 优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
./usr/local/httpd/bin/httpd
httpd
4.6 便于service管理
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd
# chkconfig: 35 85 21 //35级别自动运行 第85个启动 第21个关闭
# description: Apache is a World Wide Web server
---》wq
systemctl enable
chkconfig --add httpd //将httpd加入到系统管理器
4.7 可使用service或者systemctl进行管理
vi /usr/local/httpd/conf/httpd.conf
--52行--修改
Listen 192.168.10.129:80
--197行--取消注释,修改
ServerName www.ky11.com:80
--221行--默认首页存放路径
DocumentRoot "/usr/local/httpd/htdocs"
--255行--默认首页文件名设置
DirectoryIndex index.html
---》wq
#检查语法
httpd -t 或 apachectl -t
4.8 验证服务,并访问
cat /usr/local/httpd/htdocs/index.html
service httpd restart
netstat -anpt | grep 80
五、安装MySQL
5.1 下载所需要的组件并将安装包放到/opt目录下解压缩
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake autoconf
cd/opt
tar xzvf mysql-5.6.26.tar.gz
cd /opt/mysql-5.6.26/
----------------------------------------------------------------------
gcc \\ #编译语言,翻译官
gcc-c++ \\
ncurses \\ #字符终端下图形互动功能的动态库
ncurses-devel \\ #ncurses开发包
bison \\ #语法分析器
cmake \\ #mysql需要用cmake编译安装
autoconf #是一个用于生成可以自动配置软件源代码包以适应多种unix类系统的shell脚本工具。
5.2 源码编译安装MySQL
cmake \\
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \\
-DDEFAULT_CHARSET=utf8 \\
-DDEFAULT_COLLATION=utf8_general_ci \\
-DEXTRA_CHARSETS=all \\
-DSYSCONFIDIR=/etc \\
-DMYSQL_DATADIR=/home/mysql/ \\
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
make && make install
------------------------------------------
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \\
-DDEFAULT_CHARSET=utf8 \\ #指定默认使用的字符集编码,如 utf-8
-DDEFAULT_COLLATION=utf8_general_ci \\ #指定默认使用的字符集校对规则
-DEXTRA_CHARSETS=all \\ #指定支持其他字符集编码
-DSYSCONFIDIR=/etc \\ #/etc/mysql --->系统中有一个默认的配置/etc/my.cnf
-DMYSQL_DATADIR=/home/mysql/ \\ #数据文件
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock #指定连接数据库的通讯文件(启动数据库的时候会生成)
5.3
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig mysqld --level 35 on
systemctl enbale mysqld
5.4 创建普通用户管理mysql
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
5.5 更改管理主/组
chown mysql:mysql /etc/my.cnf
5.6 设置环境变量,申明/宣告mysql命令便于系统识别
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
5.7 初始化数据库
/usr/local/mysql/scripts/mysql_install_db \\
--user=mysql \\
--ldata=/var/lib/mysql \\
--basedir=/usr/local/mysql \\
--datadir=/home/mysql
vi /etc/init.d/mysqld
#46-47行
basedir=/usr/local/mysql
datadir=/home/mysql
service mysqld start
netstat -anpt | grep 3306
5.8 给root账号设置密码
mysqladmin -u root -p password "abc123"
————》直接回车
5.9 登录MySQL
六、安装PHP
6.1 下载所需要的组件并将安装包放到/opt目录下解压缩
yum -y install gd libpng libpng-devel pcre pcre-devel libxml2-devel libjpeg-devel
cd /opt
tar xjvf php-5.6.11.tar.bz2
---------------------------------------------------------------------------------
gd \\ #图像化处理的库
libpng \\ #png格式图片的库
libpng-devel \\
pcre \\ #PCRE库支持正则表达式
pcre-devel \\ #pcre-devel是使用PCRE做二次开发时所需要的开发库,也是编译安装需要的
libxml2-devel \\ #解析xml标记语言的库
libjpeg-devel #jpeg格式图片的库
6.2 源码编译安装PHP
cd php-5.6.11
./configure \\
--prefix=/usr/local/php5 \\
--with-gd \\
--with-zlib \\
--with-apxs2=/usr/local/httpd/bin/apxs \\
--with-mysql=/usr/local/mysql \\
--with-config-file-path=/usr/local/php5 \\
--enable-mbstring
make && make install
------------------------------------------------
--prefix=/usr/local/php5 \\
--with-gd \\ #激活gd 库的支持
--with-zlib \\ #支持zlib功能,提供数据压缩功能的函式库
--with-apxs2=/usr/local/httpd/bin/apxs \\ #指定httpd服务提供的apxs模块支持程序的文件位置
#用于指定Apache可以加载/识别对应的功能模块,此处可以让php服务模块直接提供给apache加载使用
--with-mysql=/usr/local/mysql \\ #关联数据库
--with-config-file-path=/usr/local/php5 \\ #指定配置文件
--enable-mbstring #启用多字节字符串功能,以便支持中文等代码
6.3 优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/php5/bin/* /usr/local/bin/
6.4 修改Apache配置文件让Apache支持PHP
vi /etc/httpd.conf
#添加index.php
255 <IfModule dir_module>
256 DirectoryIndex index.html index.php
257 </IfModule>
#在392行下方插入一下内容,让Apache可以支持.php的网页文件
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
##检查156行默认支持php5的模块是否存在
---->wq
6.5 创建、编辑php页面文件
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
6.6 重启服务
service httpd stop
service httpd start
restart --> stop start
6.7 测试
七、安装论坛
7.1 安装步骤
mysql> CREATE DATABASE bbs; //创建一个数据库//
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123'; //把bbs数据库里面所有表的权限授予给bbsuser,并设置密码// 所有访问来源/渠道
mysql> GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
mysql>flush privileges; //刷新数据库//
unzip /opt/lamp/Discuz_X2.5_SC_UTF8.zip -d /opt/dis
cd /opt/dis
cp -r upload/ /usr/local/httpd/htdocs/bbs
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
7.2 验证
以上是关于Linux必须会的基本架构之LAMP,妈妈再也不用担心我学习了!!的主要内容,如果未能解决你的问题,请参考以下文章
收藏 | 15 个你非了解不可的 Linux 特殊字符,妈妈再也不用担心我看不懂这些符号了!
妈妈再也不用担心我为磁盘管理烦恼了——Linux磁盘管理工具LVM2详解释