Ubuntu 12.04 编译安装 LAMP , LNMP 环境

Ubuntu 12.04 编译安装 LAMP , LNMP 环境

PHP 设置: timezone, error_log

Timezone: 服务器建议使用UTC 0区,且无夏时令,即 Atlantic/Reykjavik。

如果在个人PC上开发,建议也使用0区,与服务器一致。

----------------------------------

sudo vi /usr/local/php/lib/php.ini

date.timezone = Atlantic/Reykjavik

----------------------------------

Error Log: 开发环境显示Notice,“警告即错误”,要保证代码是 0 notice 0 warning。

----------------------------------

sudo vi /usr/local/php/lib/php.ini

display_errors = On

error_reporting = E_ALL | E_STRICT

----------------------------------

生产环境不显示错误。

----------------------------------

sudo vi /usr/local/php/lib/php.ini

display_errors = Off

----------------------------------

※ 在编译安装LAMP环境时需要的编译器有gcc,g++,make,cmake(编译安装mysql)

我们需要敲命令,如果编译的软件没有安装我们需要安装上

dpkg -l | grep gcc

dpkg -l | grep g++ [在 12.04 上未默认安装]

dpkg -l | grep make

dpkg -l | grep cmake [在 12.04 上未默认安装]

1. 手动编译安装 Nginx 1.2.0

  1) Nginx下载页面:http://nginx.org/en/download.html

     sudo apt-get install -y libpcre3 libpcre3-dev zlib1g-dev

     wget http://nginx.org/download/nginx-1.2.0.tar.gz

     tar -zxvf nginx-1.2.0.tar.gz

     cd nginx-1.2.0

     ./configure --prefix=/usr/local/nginx

     make

     sudo make install

     sudo ln -s /usr/local/nginx/sbin/nginx /etc/init.d/

     sudo /etc/init.d/nginx

     访问本机首页 http://localhost/,如果正常,则说明nginx已启动

     把Nginx加入服务,开机自启动

2. 手动编译安装 mysql-5.5.23 源码包

  1) sudo apt-get install cmake

     //sudo apt-get install make

     sudo apt-get install libncurses5-dev

     sudo apt-get install build-essential

     [OR]sudo apt-get install g++

     sudo apt-get install bison

     cd ~

     wget http://dev.mysql.com/get/Download/MySQL-5.5/mysql-5.5.23.tar.gz/from/http://mysql.cs.pu.edu.tw/ -O mysql-5.5.23.tar.gz

     sudo groupadd mysql

     sudo useradd -r -g mysql mysql

     mkdir -p /usr/local/mysql #创建MySQL安装目录

     tar -zxvf mysql-5.5.23.tar.gz

     cd mysql-5.5.23

     /usr/bin/cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DMYSQL_USER=mysql -DWITH_DEBUG=0

     make

     sudo make install

     cd /usr/local/mysql

     sudo chown -R mysql .

     sudo chgrp -R mysql .

     sudo /usr/local/mysql/scripts/mysql_install_db --user=mysql

     sudo chown -R root .

     sudo chown -R mysql data

     sudo cp support-files/my-huge.cnf /etc/my.cnf #my-medium.cnf

     sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/

     sudo ln -s /usr/local/mysql/bin/mysqldump /usr/bin/

     sudo cp support-files/mysql.server /etc/init.d/mysql

     sudo /etc/init.d/mysql start

     ./bin/mysqladmin -u root password '8ik,lp-'

     sudo /etc/init.d/mysql restart

     mysql -uroot -p

     配置 my.cnf

     #设置mysql监听外网ip

     #bind-address = 127.0.0.1

     #设置mysql 字符集 charset

     #在[mysqld]下面加入一行

     character-set-server = utf8

     在[mysql]下面加入一行

     default-character-set = utf8

     #mysql> status

     #mysql> show variables like 'character_set%';

     [mysqld]

     user = mysql

     basedir = /usr/local/mysql

     datadir  = /usr/local/mysql/data

     添加服务 让mysqld开机自动启动

     sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

     sudo update-rc.d mysql defaults

3. 手动编译安装 PHP 5.3.x 源码包

  1) 安装支持包:

      sudo apt-get install -y libltdl-dev libssl-dev sendmail libjpeg8 libjpeg8-dev libpng12-0 libpng12-dev libxml2-dev libcurl4-openssl-dev libmcrypt-dev

  2) 创建php目录,指定权限:

      sudo mkdir /usr/local/php

      cd /usr/local/php

      sudo chown -R www-data

  3) 下载PHP:

      wget http://cn2.php.net/get/php-5.4.3.tar.gz/from/this/mirror

      tar zxvf mirror

      cd php-5.4.3

  4) 编译

      ./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --with-curl --with-mcrypt --enable-mbstring --enable-pdo --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-openssl --with-imap-ssl --with-gd --with-jpeg-dir=/usr/lib/ --with-png-dir=/usr/lib/ --enable-exif --enable-zip

      如果 出错,报:

      PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.

      解决方法:

      参考:http://blog.csdn.net/sflsgfs/article/details/6298310

      将以下页面内容复制,保存为 go-pear.php

       http://pear.php.net/go-pear

       sudo vi go-pear.php

       保存后再次编译通过。

   5) 根据提示make

       make

       make test

       sudo make install

   6) 

       sudo cp php.ini-development /usr/local/php/lib/php.ini

       sudo ln -s /usr/local/php/bin/php /usr/bin/php

       sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

       设置php-fpm.conf,去掉以下参数前面的;

       sudo vi /usr/local/php/etc/php-fpm.conf

       pid = run/php-fpm.pid

       error_log = log/php-fpm.log

       log_level = notice

       pm.start_servers=

       pm.min_spare_servers=

       pm.max_spare_servers=

   7) 设置开机自启动

       sudo cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

       sudo chmod 755 /etc/init.d/php-fpm

       sudo update-rc.d php-fpm defaults

       sudo /usr/local/php/sbin/php-fpm

   8) 编辑nginx配置文件

       sudo vi /usr/local/nginx/conf/nginx.conf

server {

    listen 80;

    server_name localhost;

    rewrite_log on;

    #rewrite ^/(([0-9]+\.)+[0-9]+)/ /$1/www/index.php last;

    location / {

        root html;

        index index.html index.htm index.php;

        autoindex on;

    }

    location ~ \.php$ {

        root html;

        fastcgi_pass 127.0.0.1:9000;

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

        include fastcgi_params;

    } 

}

   9) sudo killall nginx

       sudo /etc/init.d/nginx 

 10) nginx服务器解析不了php,报404错误,解决方法:

       修改nginx/conf/nginx.conf文件中对应的php配置部分

       fastcgi_param这个参数默认的是$fastcgi_script_name;最好改为$document_root$fastcgi_script_name;我在实际配置中出      现了php找不到需要解析文件而返回404或者500错误的问题。所以最好是带上网站根目录的路径变量$document_root。

4. 安装 phpredis模块

   1) 下载 phpredis

       https://github.com/nicolasff/phpredis/downloads

   2) shell> cd phpredis

       shell> /usr/local/php/bin/phpize #这个phpize是安装php模块的

       shell> sudo apt-get install autoconf #这步有可能要做的,如果缺少 autoconf

       shell> ./configure –with-php-config=/usr/local/php/bin/php-config

       shell> make

       shell> make test

       shell> sudo make install

   3) 接下来在php.ini中添加extension=redis.so 先要看看有没有extension_dir=/…….

   4) shell> sudo /etc/init.d/php-fpm restart

       重启apache或者nginx

       PHP 代码测试

<?php

$redis = new Redis();

$redis->connect(‘127.0.0.1′,6379);

$redis->set(‘test’,'hello world!’);

echo $redis->get(‘test’);

?>

输出hello world!

5. 安装 Redis 服务

   1) 

6. 安装 memcache 和 memcached 服务

   1) 安装 Memcached Server

       1> cd Downloads

            wget https://github.com/downloads/libevent/libevent/libevent-2.0.19-stable.tar.gz

            wget http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz

       2> tar zxvf libevent-2.0.19-stable.tar.gz

            cd libevent-2.0.19-stable

            ./configure --prefix=/usr/local/libevent-2.0.19

            make

            sudo make install

       3> tar zxvf server-memcached-1.4.13.tar.gz

            cd memcached-1.4.13

            ./configure --prefix=/usr/local/memcached-1.4.13 --with-libevent=/usr/local/libevent-2.0.19/

            make

            sudo make install

       4> sudo /usr/local/memcached-1.4.13/bin/memcached -d -m 64 -u root -l 192.168.0.200 -p 11211 -c 256 –P /tmp/memcached.pid

7. 安装 memcache 和 memcached 扩展

   1) 安装 PHP 模块 memcached 扩展

       1> cd Downloads

            wget https://launchpad.net/libmemcached/1.0/1.0.8/+download/libmemcached-1.0.8.tar.gz

            wget http://pecl.php.net/get/memcached-2.0.1.tgz

       2> tar zxf libmemcached-1.0.8.tar.gz

            cd libmemcached-1.0.8

            sudo apt-get install libevent-dev cloop-ppl

            ./configure --prefix=/usr/local/libmemcached --with-memcached

            make

            sudo make install

            #问题备注: https://answers.launchpad.net/libmemcached/+question/195068

                             http://stackoverflow.com/questions/11025752/libmemcached-1-0-8-make-fails-in-ubuntu-lucid

       3> tar zxf memcached-2.0.1.tgz

            cd memcached-2.0.1

            /usr/local/php/bin/phpize

            ./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached

            make

            sudo make install

       4> vi /usr/local/php/lib/php.ini

            #加入

            extension=memcached.so

       5> sudo /etc/init.d/php-fpm restart

    2) 安装 PHP 模块 memcache 扩展【待总结】 

8. 

猜你喜欢

转载自keshion.iteye.com/blog/1564985