其他分享
首页 > 其他分享> > LAMP企业架构实战

LAMP企业架构实战

作者:互联网

LAMP是一个搭建动态网站的开源软件架构,组成了一个强大的Web应用程序平台,在软件项目方面的投资成本低,因此受到整个IT行业界的关注及大量的公司使用。

image.png

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

image.png

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";  #授权

#以上两步骤很重要,否则报以下错误:

image.png

4.Discuz PHP讨论安装过程:LAP(CentOS+Apache+PHP):192.168.153.142

2.png

image.png

image.png

7.png

image.png

image.png

image.png

image.png

小结:如何优化LAMP架构,如何拆分LAMP架构以,怎么把Apache和MySQL分开放在不同的机器上?LAMP构架拆分的目的在于缓解单台服务器的压力,可以将PHP、MySQL单独安装至多台服务器上,本次实战实现了LAP+MySQL的架构,也即是把MySQL单独拆分出去。


标签:实战,架构,lap,28,local,LAMP,usr,php,root
来源: https://blog.51cto.com/sky9896/2468061