LAMP企业架构实战
作者:互联网
LAMP是一个搭建动态网站的开源软件架构,组成了一个强大的Web应用程序平台,在软件项目方面的投资成本低,因此受到整个IT行业界的关注及大量的公司使用。
1.LAMP企业安装配置:构建LAMP架构有两种方法,一是使用yum在线安装,另外一种是基于源码编译安装。
1)yum在线安装
#yum install httpd httpd-devel mysql mysql-server mysql-devel php php-devel php-mysql -y
#service httpd restart
#service mysqld restart
2)基于源码安装:LAP(CentOS+Apache+PHP):192.168.153.142
Apache: https://blog.51cto.com/sky9896/2467218
MySQL: https://blog.51cto.com/sky9896/2467552
PHP: 源码编译安装
[root@lap tools]# wget http://mirrors.sohu.com/php/php-5.3.28.tar.gz
--2020-01-20 10:12:00-- http://mirrors.sohu.com/php/php-5.3.28.tar.gz
正在解析主机 mirrors.sohu.com (mirrors.sohu.com)... 失败:未知的名称或服务。
wget: 无法解析主机地址 “mirrors.sohu.com”
[root@lap tools]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 202.101.224.68
nameserver 8.8.8.8
[root@lap tools]# tar -zxf php-5.3.28.tar.gz
[root@lap tools]# cd php-5.3.28
[root@lap php-5.3.28]#
[root@lap php-5.3.28]# ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql=/usr/local/mysql/
...................
configure: error: xml2-config not found. Please check your libxml2 installation.
[root@lap php-5.3.28]# yum install libxml2 libxml2-devel -y
[root@lap php-5.3.28]# ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql=/usr/local/mysql/
....................
Thank you for using PHP.
[root@lap php-5.3.28]# make
In file included from /tools/php-5.3.28/ext/standard/basic_functions.c:49:0:
/tools/php-5.3.28/Zend/zend_language_parser.h:317:5: 错误:与‘zendparse’类型冲突
int zendparse (void);
/tools/php-5.3.28/Zend/zend_globals_macros.h:35:5: 附注:‘zendparse’的上一个声明在此
int zendparse(void *compiler_globals);
make: *** [ext/standard/basic_functions.lo] 错误 1
[root@lap Zend]# pwd
/tools/php-5.3.28/Zend
[root@lap Zend]# vim zend_language_parser.h
#int zendparse (void); #可以删除此条语句
int zendparse(void *compiler_globals); #添加该条语句
[root@lap php-5.3.28]# make
..................
Build complete.
Don't forget to run 'make test'.
[root@lap php-5.3.28]# make install
.........
/tools/php-5.3.28/build/shtool install -c ext/phar/phar.phar /usr/local/php5/bin
ln -s -f /usr/local/php5/bin/phar.phar /usr/local/php5/bin/phar
Installing PDO headers: /usr/local/php5/include/php/ext/pdo/
[root@lap /]# vim /etc/php.ini
LoadModule php5_module modules/libphp5.so
<IfModule dir_module>
DirectoryIndex index.php ndex.html index.htm
</IfModule>
AddType application/x-httpd-php .php
[root@lap htdocs]# cat >/usr/local/apache2/htdocs/index.php <<EOF
> <?php
> phpinfo();
> ?>
> EOF
2.配置Discuz PHP讨论安装:LAP(CentOS+Apache+PHP):192.168.153.142
[root@lap tools]# unzip Discuz_X3.4_SC_UTF8.zip -d /usr/local/apache2/htdocs/
bash: unzip: 未找到命令
[root@lap tools]# yum install unzip
[root@lap tools]# unzip Discuz_X3.4_SC_UTF8.zip -d /usr/local/apache2/htdocs/
[root@lap bbs]# unzip Discuz_X3.4_SC_UTF8.zip -d /usr/local/apache2/htdocs/bbs/
[root@lap tools]# cd /usr/local/apache2/htdocs/bbs/
[root@lap bbs]# mv upload/* .
[root@lap bbs]# chmod 757 -R data/ uc_server/ config/ uc_client/
3.MySQL数据库相关配置:192.168.153.143
MySQL [(none)]> create database ultrax; #先创建初始化数据库
MySQL [(none)]> grant all on ultrax.* to root@'192.168.153.142' identified by "sky9890"; #授权
#以上两步骤很重要,否则报以下错误:
4.Discuz PHP讨论安装过程:LAP(CentOS+Apache+PHP):192.168.153.142
小结:如何优化LAMP架构,如何拆分LAMP架构以,怎么把Apache和MySQL分开放在不同的机器上?LAMP构架拆分的目的在于缓解单台服务器的压力,可以将PHP、MySQL单独安装至多台服务器上,本次实战实现了LAP+MySQL的架构,也即是把MySQL单独拆分出去。
标签:实战,架构,lap,28,local,LAMP,usr,php,root 来源: https://blog.51cto.com/sky9896/2468061