搭建LAMP

LAMP概念
php

(1)LAMP是主流的web架构,Linux+Apache+MySQL|Mariadb+PHP|Perl | Python 组合成的html


 (2) Linux开源免费的操做系统,Centos6.8 ,Centos7.3开源,方便维护mysql


 (3) Apache开源的web服务器,使用量最多的web服务器,基于Http协议发布web静态网页,linux

      并且只能发布静态页面。c++


 (4) MySQL是关系型数据库系统,存储用户信息,银行卡号,订单信息,论坛用户信息等web


 (5) PHP是一门解释型的脚本动态语言,基于PHP页面开发PHP网页代码sql


 (6) LAMP联合组成主流的web架构,能够发布门户网站,以PHP为表明的动态网页+HTML为表明的数据库

     静态网页apache


LAMP架构原理windows

 (1) 用户在浏览器上输入,www.jfedu.net域名回车,浏览器会检查域名对应的ip地址


 (2) 浏览器会检查本地主机的host文件,c:\windows\system32\drivers\etc\hosts,查找hosts

     文件中是否有www.jfedu.net对应的ip地址


 (3) 若是hosts文件中,有域名对应的ip地址,浏览器会直接开始HTTP请求


 (4) 若是hosts文件中,没有域名对应的ip,浏览器会向DNS服务请求


 (5) 此时Apache web收到浏览器发送的HTTP请求,会检查用户请求的具体文件,默认请求index.php,

    Apache检查httpd.conf配置文件的ADDTYPE的php后缀


(6) Apache检查到用户请求的文件是以.php结尾的文件,会从硬盘,内存上读取该文件,将文件传递给PHP模块(PHP解释器)PHP解释器会解析以.php结尾的文件,若是须要调用数据库的数据,PHP会链接MySQL驱动,去调用MySQL数据库中的数据,解析成静态文件


(7) 用户浏览器收到该页面,经过MIME类型,调用本地插件来解析和渲染内容,最终浏览器会把界面展现给用户


LAMP源码实战(LAMP部署在一台服务器上)


 Discuz论坛安装

   Apache 安装

 (1) 下载wget

    yum install wget -y


 (2) 下载Apache安装包

wget  http://mirror.bit.edu.cn/apache//httpd/httpd-2.2.34.tar.gz


 (3) 解压Apache

   tar -xjvf  httpd -2.2.34.tar.gz


 (4) 进入Apache安装目录,执行预编译,编译,安装

    cd  httpd -2.2.34  

预编译:

   ./configure --prefix=/usr/local/apache2/ --enable-rewrite  --enable-so  --enable-ssl


预编译报错解决方案:

    configure:error: in `/usr/local/src/httpd-2.2.21/srclib/apr':

   configure:error:  no acceptable C compiler found in $PATH

解决办法是安装:yum  install gcc -y

 

  no SSL-C headers found  configure: error: ...No recognized SSL/TLS toolkit detected

解决办法是安装:  yum install  openssl-devel   -y


make(编译)


make install (安装)


(5) Apache配置前,记得关闭防火墙和selinux

 关闭selinux  setenforce 0

 防火墙: service iptables  stop


(6) 在httpd.conf 配置文件中去掉#注释行,Include conf/extra/httpd-vhosts.conf


(7)  在httpd-vhosts.conf 配置虚拟主机

 

<VirtualHost*:80>

    ServerAdmin daqi@eastmoney.com

    DocumentRoot"/usr/local/apache2/htdocs/discuz"

    ServerName www.discuz.com

    ErrorLog"logs/www.discuz.com-error_log"

    CustomLog"logs/www.discuz.com-access_log" common

</VirtualHost>

 

<VirtualHost*:80>

    ServerAdmin daqi@eastmoney.com

    DocumentRoot"/usr/local/apache2/htdocs/wordpress"

    ServerName www.wordpress.com

    ErrorLog"logs/www.wordpress.com-error_log"

    CustomLog"logs/www.wordpress.com-access_log" common

</VirtualHost>


(8)    hosts文件路径c:\\windows\System32\drivers\etc   hosts文件中,把域名和ip一一对应


(9)   /usr/local/apache2/bin/httpd-k start   启动apache web服务器


(10) 测试www.wordpress.com     www.discuz.com访问是否成功


MySQL安装



 (1) 下载MySQ软件包

   wget http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz


(2) 解压MySQL

   tar -xzvf  mysql -5.5.20.tar.gz


(3) 安装MySQL必备环境  

   yum install  ncurses-devel perl gcc gcc-c++ wget cmake nurses  make


(4) 进入MySQL安装目录,执行cmake  make   make install

 

cmake .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock\

-DMYSQL_DATADIR=/data/mysql/\

-DSYSCONFDIR=/etc\

-DMYSQL_USER=mysql\

-DMYSQL_TCP_PORT=3306\

-DWITH_XTRADB_STORAGE_ENGINE=1\

-DWITH_INNOBASE_STORAGE_ENGINE=1\

-DWITH_PARTITION_STORAGE_ENGINE=1\

-DWITH_BLACKHOLE_STORAGE_ENGINE=1\

-DWITH_MYISAM_STORAGE_ENGINE=1\

-DWITH_READLINE=1\

-DENABLED_LOCAL_INFILE=1\

-DWITH_EXTRA_CHARSETS=1\

-DDEFAULT_CHARSET=utf8\

-DDEFAULT_COLLATION=utf8_general_ci\

-DEXTRA_CHARSETS=all\

-DWITH_BIG_TABLES=1\

-DWITH_DEBUG=0

make

make install



(5) 将MySQL设置为系统服务

 

cd  /usr/local/mysql

cp support-files/my-large.cnf  /etc/my.cnf

cp mysql.server  /etc/init.d/mysqld

useradd mysql

mkdir -p /data/mysql

/usr/local/mysql/scripts/mysql_install_db --user=mysql--datadir=/data/mysql/--basedir=/usr/local/mysql/    对mysql进行初始化



 (6)启动MySQL

   /etc/init.d/mysqld start


  PHP安装


(1) 下载PHP软件包

    wget     http://mirrors.sohu.com/php/php-5.3.28.tar.bz2


(2) 解压PHP软件包

   tar  -xjvf  php-5.3.28.tar.bz2


(3) 进入PHP安装目录,执行.configure/  make   make install

 

 ./configure--prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc   --with-apxs2=/usr/local/apache2/bin/apxs  --with-mysql=/usr/local/mysql/


 make


 make  install


 报错内容:

      configure:error: xml2-config not found. Please check your libxml2 installation


  解决办法:    

      yum install libxml2-devel –y


(4)Apache+ PHP整合

  

 LoadModule         php5_module modules/libphp5.so  


   这句内容是PHP和Apache整合后,在httpd.conf文件中自动添加的


AddType        application/x-httpd-php  .php   Apache 识别.php文件


DirectoryIndex     index.php index.htmlindex.htm



   Discuz安装

(1) 下载Discuz软件包

 wget  http://download.comsenz.com/DiscuzX/3.1/Discuz_X3.1_SC_UTF8.zip


(2) 解压Discuz软件包

unzip Discuz_X3.1_SC_UTF8.zip


(3) 进入upload目录,把php文件拷贝到/usr/local/apache2/htdocs/discus


(4) 重启Apache网站是否成功

 1748c0f6f0cb2ee7b89d6a0784c10e5b.jpg-wh_


(5)受权apache用户,能够访问data/  config/   uc_* 目录有写的权限

       chmod o+w -Rdata/ config/ uc_*


 (6)  受权数据库

    grant all on ultrax.* to jfedu@'192.168.2.107' identified by "jf123456";


 注释:

           受权192.168.2.107这个机器能够访问ultrax数据库


(7) 搭建成功的截图

 f659e9b8bcd25b2135a1308ab6262c8b.jpg-wh_