zoukankan      html  css  js  c++  java
  • 三十五、lamp经典组合搭建

    一、安装mysql数据库

       1.1  创建组和用户:

          1)groupadd mysql

          2)useradd mysql   -g mysql -M  -s  /sbin/nologin 

          3)configure配置参数如下:

          放入mysql.log,然后cat mysql.log|bash

    ./configure

    ./configure
    --prefix=/application/php5.3.27
    --with-apxs2=/application/apache/bin/apxs
    --with-mysql=/application/mysql
    --with-xmlrpc
    --with-openssl
    --with-zlib
    --with-freetype-dir
    --with-gd
    --with-jpeg-dir
    --with-png-dir
    --with-iconv=/usr/local/libiconv
    --enable-short-tags
    --enable-sockets
    --enable-zend-multibyte
    --enable-soap
    --enable-mbstring
    --enable-static
    --enable-gd-native-ttf
    --with-curl
    --with-xsl
    --enable-ftp
    --with-libxml-dir

      报错:checking for termcap functions library... configure: error: No curses/termcap library found,安装yum install -y ncurses-devel后,再次进行configure即可。

      4)make && make install

      在这里需要注意,有些人吗,写入:make -j 4 是为了加快mysql的编译,其中,-j表示希望使用cpu核数。

      5)测试 :echo $?

      6))  软件链接: ln -s /application/mysql5.1.72/  /application/mysql  

    二、初始化数据库

       2.1增加配置文件

     [root@djw3 mysql-5.1.72]# ll ./support-files/my-*.cnf
    -rw-r--r-- 1 root root  4746 Nov  7 08:10 ./support-files/my-huge.cnf
    -rw-r--r-- 1 root root 19779 Nov  7 08:10 ./support-files/my-innodb-heavy-4G.cnf
    -rw-r--r-- 1 root root  4720 Nov  7 08:10 ./support-files/my-large.cnf
    -rw-r--r-- 1 root root  4731 Nov  7 08:10 ./support-files/my-medium.cnf
    -rw-r--r-- 1 root root  2499 Nov  7 08:10 ./support-files/my-small.cnf

    可以看到,这里有五个文件,大小为  medium<small<large<huge<heavy,相应的对应硬件要求越高,相应的可以选择更高的配置文件

    这里选择small文件,放到/etc/my.cnf下(etc表示配置的默认路径,my.cnf表示默认的配置文件)

    [root@djw3 mysql-5.1.72]# cp  ./support-files/my-small.cnf   /etc/my.cnf
    cp: overwrite `/etc/my.cnf'? y

      2.2配置存放数据库数据的地方

        [root@djw3 mysql5.1.72]# mkdir -p  /application/mysql/data  ---创建目录

        [root@djw3 mysql5.1.72]# chown -R /application/mysql/     --授权

        [root@djw3 application]# /application/mysql/bin/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql   --初始化文件存放地方

        basedir需要初始化的软件   datadir 初始化后存放的位置

     如上,看到两个OK表示安装成功,还有一些提示信息,比如登录命令,启动mysql服务等。

     如下,这里有两个文件,mysql目录里面有很多文件,轻易不要改动,都是一些系统文件,test目录是用户测试的文件,可以删除,这里保留

     [root@djw3 application]# cd ./mysql/data/
    [root@djw3 data]# ll
    total 8
    drwx------ 2 mysql root 4096 Nov  7 09:46 mysql
    drwx------ 2 mysql root 4096 Nov  7 09:46 test

      2.3登录数据库

          [root@djw3 data]# /application/mysql/bin/mysqld_safe &     --启动服务

          [root@djw3 data]# netstat -lntup |grep "3306"
           tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      6268/mysqld   --表示服务启动

    登录: /application/mysql/bin/mysql

           

    将登陆命令放到配置环境中,这样我们直接输入mysql就可以了,如下

    [root@djw3 data]# grep mysql /etc/profile
    PATH="/application/mysql/bin/:$PATH"
    [root@djw3 data]# . /etc/profile  --文件生效

       2.4启动服务的命令除了在MySQL下/bin/mysqld_safe外,还可以通过配置文件./support-files/mysql.server进行启动,如下:

        2.4.1将./support-files/mysql.server 拷贝到/etc/init.d/mysqld下面

       [root@djw3 mysql-5.1.72]# cp ./support-files/mysql.server /etc/init.d/mysqld

       2.4.2 添加开启自启动

     [root@djw3 init.d]# chkconfig --add mysqld
    [root@djw3 init.d]# chkconfig list
    [root@djw3 init.d]# chkconfig mysqld on

    [root@djw3 init.d]# chmod +x /etc/init.d/mysqld

    测试:启动成功

    [root@djw3 mysql-5.1.72]# /etc/init.d/mysqld start
    Starting MySQL. SUCCESS!

    综上:启动

    第一种:
    /application/mysql/bin/mysqld_safe &
    mysqladmin shutdown
    第二种:
    /etc/init.d/mysqld start
    /etc/init.d/mysqld stop

     添加登陆密码   :/application/mysql/bin/mysqladmin -uroot password 'oldboy124'

    [root@djw3 ~]# mysql
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    登陆成功:输入正确的密码

       

       优化,删除用户名是空的

    删除两个命令是:drop user ""@djw3 和 drop user ""@localhost

     

    查看版本和用户名

     三、安装PHP工具

         安装php是因为有一些动态数据需要通过PHP程序运行到mysql数据库中,而PHP程序依赖于PHP工具进行编译运行。

        3.1检查安装PHP所需lib库,php会调用这些跟图形相关的函数库

             yum install zlib libxml libjpeg freetype libpng gd  curl libiconv  zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel -y
        3.2检查安装libiconv字符转换库工具(百度路径)

             tar zxf libiconv-1.14.tar.gz 

             cd libiconv-1.14
            ./configure --prefix=/usr/local/libiconv
              make
            make install
            cd ../

        3.3安装PHP工具包,这里安装php-5.3.27

      [root@djw3 tools]# tar xf php-5.3.27.tar.gz

      yum install libxslt-devel -y

      yum insgtall openssl-devel  -y

      configure编译:

    ./configure
    --prefix=/application/php5.3.27
    --with-apxs2=/application/apache/bin/apxs   --这个需要指定apache的bin/apxs路径,通过apxs来增加php扩展模块到apache中
    --with-mysql=/application/mysql
    --with-xmlrpc
    --with-openssl
    --with-zlib
    --with-freetype-dir
    --with-gd
    --with-jpeg-dir
    --with-png-dir
    --with-iconv=/usr/local/libiconv
    --enable-short-tags
    --enable-sockets
    --enable-zend-multibyte
    --enable-soap
    --enable-mbstring
    --enable-static
    --enable-gnd-native-ttf
    --with-curl
    --with-xsl
    --enable-ftp
    --with-libxml-dir

     make  && make install

    安装完毕后,可以查看:

     

    如上图:libphp5.so就是apxs给apache插入的模块,同理在apache的配置文件中,也是存在的,

    [root@djw3 application]# grep libphp5.so /application/apache/conf/httpd.conf
    LoadModule php5_module        modules/libphp5.so

    当用户通过apache请求静态文件的时候,返回静态文件;当用户通过apache访问动态文件的时候,会调用php模块libphp5.so。

    在安装文件中,可以看到这里有两个配置文件,分别是开发和生产文件,如下,通过diff对比两个文件,我们发现,许多配置项在production是关闭的,表示不想让用户看到或者黑客利用。

    [root@djw3 php-5.3.27]# ls php.ini-
    php.ini-development  php.ini-production

      3.4php配置文件

      将上述配置文件中的生产模式文件php.ini-production安装在默认路径下/application/php/lib/php.ini

      [root@djw3 php-5.3.27]# cp php.ini-production  /application/php/lib/php.ini

     3.5配置apache支持php

      上述是安装php默认产生的文件和配置,这里是配置apache支持php

      3.5.1  311行下增加:(表示apache可以支持php)
     AddType application/x-httpd-php .php .phtml
     AddType application/x-httpd-php-source .phps
    168行下增加:(访问php的首页)
    DirectoryIndex index.php index.html
    67行下增加(修改用户名,表示访问的用户为了更安全而考虑)
    User www
    Group www

    检验是否可以连接mysql数据库:

    <?php
     //$link_id=mysql_connect('主机名','用户','密码');
     $link_id=mysql_connect('localhost','root','oldboy124') or mysql_error();
     if($link_id){
      echo "mysql successful by oldboy !";
     }else{
      echo mysql_error();
     }
    ?>

     

     至此,LAMP经典组合搭建完成。(linux+apache+mysql+php);经过上述,如果是动态请求服务器,那么势必会经过apache,走php,所以只要在安装完成php后,进行apache主配置文件中支持php的配置就可以实现了。

  • 相关阅读:
    二项分布 正太分布 关系 隶莫佛-拉普拉斯定理的推广 列维-林德伯格定理
    lint (software)
    eslint
    Lazy freeing of keys 对数据的额异步 同步操作 Redis 4.0 微信小程序
    XML-RPC JSON-RPC RPC是实现思路
    Multitier architecture
    Messaging Patterns for Event-Driven Microservices
    替换模板视频图片的原理
    Understanding When to use RabbitMQ or Apache Kafka Kafka RabbitMQ 性能对比
    RabbitMQ Connector
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/11219186.html
Copyright © 2011-2022 走看看