• LAMP环境搭建


    系统环境及软件版本

    系统版本:Red Hat Enterprise Linux Server release 6.5 (Santiago)

    内核版本:2.6.32-431.el6.x86_64

    apr版本:apr-1.5.2

    apr-util版本:apr-util-1.5.4

    pcre版本:pcre-8.39

    Apache版本:Apache/2.4.20 (Unix)

    memcached版本:1.4.28

    MySQL版本:5.6.30

    php版本:5.6.23

    XCache版本:3.2.0

    一、安装MySQL

    如果没有mysql用户则添加:

    # useradd -r mysql -s /sbin/nologin

    # tar zxvf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

    # ln -sv /usr/local/mysql-5.6.30-linux-glibc2.5-x86_64 /usr/local/mysql

    # chown mysql.mysql -R mysql-5.6.30-linux-glibc2.5-x86_64

    创建MySQL的数据文件目录

    # mkdir -pv /data/mysql

    # chown -R mysql.mysql /data/mysql

    初始化MySQL数据库

    # ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

    复制MySQL的服务启动脚本到/etc/rc.d/init.d/下

    # cp support-files/mysql.server /etc/rc.d/init.d/mysqld

    将mysqld添加到服务聊表并设置开机自启动

    # chkconfig --add mysqld

    # chkconfig mysqld on

    MySQL的配置文件:/etc/my.cnf或/etc/mysql/my.cnf-->$MYSQL_Base/my.cnf -->

    --defaults-extra-file=/path/to/some_my.cnf -->.my.cnf

    如果找到的不同,则合并,如果不同,则以最后一个为准

    本人把所有配置文件都删了只留了下面这个文件

    # vim /etc/my.cnf

    加入如下内容:

    [client]

    port = 3306

    socket = /tmp/mysql.sock

    [mysqld]

    server_id = 1

    log_bin = /data/mysql/mysql_binlog

    lower_case_table_names=1

    binlog-ignore-db=mysql,test

    port = 3306

    pid-file=/usr/local/mysql/mysql.pid

    socket = /tmp/mysql.sock

    skip-external-locking

    key_buffer_size = 256M

    max_allowed_packet = 1M

    table_open_cache = 256

    sort_buffer_size = 1M

    read_rnd_buffer_size = 4M

    thread_cache_size = 8

    query_cache_size = 16M

    thread_concurrency = 2

    datadir = /data/mysql

     

    character_set_server=utf8

     

    添加MySQL的到环境变量:

    # vim /etc/profile.d/mysql.sh加入如下内容:

    export PATH=/usr/local/mysql/bin:$PATH

    # source /etc/profile.d/mysql.sh

     

    初始化数据库:

     

    /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql --collation-server=utf8_general_ci

     

    删除匿名用户:

    mysql> drop user ''@'localhost';

    mysql> drop user ''@'master.fansik.com';

    给root用户添加密码:

    mysql> update user set password=password('fanjinbao') where user='root';

    mysql> flush privileges;

    如果增加密码后还想直接用mysql直接登录那就:

    # vim ~/.my.cnf加入:

    [mysql]

    user = root

    password = fanjinbao

    socket = /tmp/mysql.sock

    如果要基于MySQL做开发:导出头文件:

    # ln -sv /usr/local/mysql/include/ /usr/include/mysql

    导出库文件:

    # vim /etc/ld.so.conf.d/mysql.conf加入:/usr/local/mysql/lib

    # ldconfig -v

    查看是否添加成功:

    # ldconfig -p | grep mysql

    二、安装Apache

    1、安装Apache可移植运行库(apr:Apache portable runtime)

    # tar zxvf apr-1.5.2.tar.gz

    # cd apr-1.5.2

    # ./configure --prefix=/usr/local/apr

    # make && make install

    2、安装Apache可移植运行库工具包

    # tar -zxvf apr-util-1.5.4.tar.gz

    # cd apr-util-1.5.4

    # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/

    # make && make install

    3、安装PCRE(Perl Compatible Regular Expressions)Perl库文件

    # tar zxvf pcre-8.39.tar.gz

    # cd pcre-8.39

    # ./configure --prefix=/usr/local/pcre

    # make && make install

    4、安装Apache服务器

       # tar zxvf httpd-2.4.20.tar.gz

       # cd httpd-2.4.20

       # ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-rewrite --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre/ --enable-ssl --enable-deflate --enable-expires --enable-cgi --with-zlib --enable-modules=most --enable-mpms-shared=all --with-mpm=event

       # make && make install

    5、设置Apache的环境变量:

    # vim /etc/profile.d/httpd.sh加入

    export PATH=/usr/local/apache/bin:$PATH

    # . /etc/profile

    启动httpd服务:apachectl start

    上传httpd的启动脚本,添加执行权限,添加到服务列表,设置开机自启动。

    httpd的启动脚本及设置方法:http://www.cnblogs.com/fansik/p/5644007.html

    三、安装PHP

    PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写

    安装前准备:

    # yum groupinstall -y  "Desktop Platform Development"

    libmcrypt-devel是属于epel源的,如果没有要么编译,要么安装epel源

    # yum -y install libmcrypt-devel bzip2-devel

    安装freetype,安装libpng,安装jpeg:http://www.cnblogs.com/fansik/diary/2016/11/22/6088799.html

    安装php

    # tar zxvf php-5.6.23.tar.gz

    # cd php-5.6.23

    # ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts

    如果php不在本机可以使用:

    ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd

    最后的参数--enable-maintainer-zts是为了支持Apache的worker或event这两个mpm

    # cp php.ini-production /etc/php.ini

    编辑httpd的配置文件,添加对php类型文件的支持

    AddType application/x-httpd-php .php

    AddType application/x-httpd-php-source .phps

    并且在index.html后面添加index.php

    DirectoryIndex index.html index.php

    重启apache服务,并在/usr/local/apache/htdocs中添加测试页

    # mv index.html index.php

    # vim index.php加入如下内容:

    <?php

        phpinfo();

    ?>

    访问http://10.10.10.201/进行测试即可

    测试是否可以连接数据库:

    <?php

        $link = mysql_connect('127.0.0.1','root','fanjinbao');

        if ($link)

            echo "successful...";

        else

            echo "Failure...";

        mysql_close();

    ?>

    也可以用phpMyAdmin进行测试:

    将phpMyAdmin-4.6.3-all-languages.tar.gz上传到/usr/local/apache/htdocs目录下

    # tar zxvf phpMyAdmin-4.6.3-all-languages.tar.gz

    # mv phpMyAdmin-4.6.3-all-languages pma

    http://10.10.10.201/pma

    四、安装XCache为php加速

    1、安装xcache

    # tar zxvf xcache-3.2.0.tar.gz

    # cd xcache-3.2.0

    # /usr/local/php/bin/phpize

    # ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

    # make && make install

    make install完成后的最后一行出现的路径就是xcache安装位置:

    Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

    创建php的配置文件目录

    # mkdir /etc/php.d

    使用XCache之前需要对缓存进行预热,使用XCache能够提高三倍左右的性能

    五、配置Apache与fpm方式的php(基于fastcgi模式通信的)

    相当于Apache服务器是一个反向代理服务器,这第五项是替换的第三项的安装php,如果已经安装需要删除之前php及其配置文件,进行重新编译

    1、编译php

    # tar zxvf php-5.6.23.tar.gz

    # cd php-5.6.23

    # ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2

    # make && make install

    2、配置php

    # cp php.ini-production /etc/php.ini

    3、配置php-fpm,设置开机自启动

    # cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

    # chmod 755 /etc/rc.d/init.d/php-fpm

    # chkconfig --add php-fpm

    # chkconfig php-fpm on

    配置php-fpm的参数

    # cd /usr/local/php/etc/

    # cp php-fpm.conf.default php-fpm.conf

    # vim php-fpm.conf

    pid = /usr/local/php/var/run/php-fpm.pid

    pm.max_children = 50

    pm.start_servers = 5

    pm.min_spare_servers = 3

    pm.max_spare_servers = 8

    4、配置Apache与php通信

    将mod_proxy.so和mod_proxy_fcgi.so模块的注释去掉

    LoadModule proxy_module modules/mod_proxy.so

    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

    关闭中心主机:

    #DocumentRoot "/usr/local/apache/htdocs"

    打开虚拟主机配置文件:

    将Include /etc/httpd/extra/httpd-vhosts.conf的注释去掉

    编辑httpd的配置文件,添加对php类型文件的支持

    AddType application/x-httpd-php .php

    AddType application/x-httpd-php-source .phps

    并且在index.html后面添加index.php

    DirectoryIndex index.html index.php

    配置Apache的虚拟主机

    # vim /etc/httpd/extra/httpd-vhosts.conf

    <VirtualHost *:80>

        ServerAdmin webadmin@a.com

        DocumentRoot "/web/a"

        ServerName www.a.com

        ServerAlias a.com

        ErrorLog "logs/a-error_log"

        CustomLog "logs/a-access_log" common

        <Directory "/web/a">

            Options None

            Require all granted

        </Directory>

        ProxyRequests Off

        ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/web/a/$1

    </VirtualHost>

    <VirtualHost *:80>

        ServerAdmin webadmin@b.com

        DocumentRoot "/web/b"

        ServerName www.b.com

        ErrorLog "logs/b-error_log"

        CustomLog "logs/b-access_log" common

        <Directory "/web/b">

            Options None

            Require all granted

        </Directory>

        ProxyRequests Off

        ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/web/b/$1

    </VirtualHost>

    重启Apache访问www.a.com进行测试即可,需要在本机的hosts文件中添加www.a.com 10.10.10.201

  • 相关阅读:
    做嵌入式编程,为什么用的是C语言而不是C++呢?
    结对-四则运算答题器-设计文档
    Windows Forms Thread Safety: InvalidOperationException and Invoking
    DialogForm
    Views in Full Screen Mode
    Painting on a Panel
    A Gradient Title Bar for modal and modeless dialog
    MSN Messenger Type Status Bar Popup Message Box
    EZOptionsDlg
    Transparent Static Text In Dialogs
  • 原文地址:https://www.cnblogs.com/fansik/p/5646340.html
Copyright © 2020-2023  润新知