LAMP 架构实战

LAMP企业架构实战
Linux下LAMP(Linux+Apache+MySQL/MariaDB+Perl/PHP/Python)是一组用来搭建动态网站的开源软件架构。
Apache默认只能发布静态网页,而LAMP组可以发布静态和PHP动态页面。
静态页面:通常指不与数据库发生交互的页面,是一种基于W3C规范的一种网页书写格式,是一种统一协议语言,所以称为静态网页。常见静态页面以.html、.gif、.jpg、.jpeg、.bmp、.png、.ico、.txt、.js、.css等结尾。
动态页面:通常指与数据库发生交互的页面,内容展示丰富,功能非常强大,实用性广。常见动态页面以.jsp、.php、.do、.asp、.cgi、.apsx等。
LAMP企业主流架构最重要的三个环节:ApacheWeb服务器;PHP;MySQL数据库。
 
LAMP企业安装配置
YUM安装方法:
yum install httpdhttpd-devel (mariadb mariadb-devel mariadb-server)或者mysql php php-develphp-mysql -y
service httpdrestart;service mysqld restart  或systemctl restart httpd mariadb
1、源码安装ApacheWeb方法,先安装apr、apr-utils库包:
yum install arp-develapr-util-devel -y;
cd /usr/src;
wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.37.tar.gz
tar xzfhttpd-2.4.37.tar.gz
cd httpd-2.4.37
./configure--prefix=/usr/local/apache --enable-so --enable-rewrite
make
make install
2、源码安装MySQL,通过cmake、make、makeinstall三个步骤实现:
yum install cmakencurses-devel ncurses -y
cmake .-DCMAKE_INSTALL_PREFIX=/usr/local/mysql                    cmake 预编译
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock                 MySQL socket 通信文件位置
-DMYSQL_DATADIR=/data/mysql                             MySQL 数据存放路径
-DSYSCONFDIR=/etc                                                配置文件路径
-DMYSQL_USER=mysql                                            MySQL运行用户
-DMYSQL_TCP_PORT=3306                                      监听端口
-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=uft8_general_ci                  检验字符
-DEXTRA_CHARSETS=all                                           安装所有扩展字符集
-DWITH_BIG_TABLES=1                                            将临时表存储在磁盘上
-DWITH_DEBUG=0                                     禁止调试模式支持
make                                                                          编译
make  install                                                                安装
将源码安装的MySQL数据库服务设置为系统服务,可以使用chkconfig管理,并启动MySQL数据库:
cd /usr/local/mysql/
\cp support-files/my-large.cnf  /etc/my.cnf
\cp support-files/mysql.server   /etc/init.d/mysqld
chkconfig  --add mysqld
chkconfig --level 35mysqld on
mkdir  -p /data/mysql
useradd mysql
/usr/local/mysql/scripts/mysql_install_db--user=mysql  --datadir=/data/mysql/  --basedir=/usr/local/mysql/
ln  -s /usr/local/mysql/bin/*   /usr/bin/
service  mysqld restart
ps -ef |grep mysqld
3、PHP服务安装,PHP需与Apache、MySQL进行整合,参数命令如下:
cd /usr/src
wget http://cn2.php.net/distributions/php-7.2.11.tar.gz
tar xzf php-7.2.11
cd php-7.2.11;
./configure--prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc--with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/
4、Apache+PHP源码整合
为了能让Apache识别PHP文件,需要装PHP安装完成后生成的libphp5.so模块与Apache进行整合,vimhttpd.conf编辑配置文件:
LoadModule        php5_module modules/libphp5.so
AddType         applecation/x-httpd-php.php
DirectoryIndex        index.php index.html index.htm
5、测试Apache+PHP环境
创建PHP测试页面,在/usr/local/apache/htdocs目录下创建index.php测试文件,执行如下命令:
cat>/usr/local/apache/htdocs/index.php<<EOF
<?php
phpinfo();
?>
EOF
重新启动Apache服务,浏览器输入ApacheWeb的IP访问。查看源码环境整合是否成功。
6、Discuz PHP论坛安装
cd /usr/src;
wget http://download.comsenz.com/Discuz/7.2/Discuz_7.2_SC_UTF8.zip
unzipDiscuz_7.2_SC_UTF8.zip -d /usr/local/apache/htdocs/
cd/usr/local/apache/htdocs/ ; \mv upload/* .
chmod 757 -R data/uc_server/ config/ uc_client/
MySQL数据库命令行中创建PHP连接MySQL的用户及密码:
create database discuzcharset=utf8;
grant all on discuz. *to root@'localhost' identified by "123456";
即可通过Apache WebIP访问并完成Discuz的配置。