`

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. 

分享到:
评论

相关推荐

    Ubuntu12.04 nginx python uwsgi Django安装步骤

    在本文中,我们将介绍如何在 Ubuntu 12.04 环境下安装 Nginx、Python、uWSGI 和 Django。这些技术栈组合是非常流行的 Web 应用程序开发环境。 一、安装 Nginx Nginx 是一个轻量级的反向代理服务器,可以用来处理 ...

    andrid ubuntu12.04和14.04的编译环境

    andrid ubuntu12.04和14.04的编译环境,目前在开发android底层和中夹层,一直都用的整个编译环境,需要的小伙伴可以看看

    libc6 for ubuntu12.04

    因此,对于那些需要稳定环境的用户,如服务器管理员,Ubuntu 12.04是一个理想的选择。尽管现在这个版本已经不再受到官方支持,但对于仍在使用它的系统,保持libc6等关键库的更新仍然至关重要,因为这些库的安全性和...

    ubuntu10.04及12.04编译android环境搭建

    ubuntu10.04及12.04编译android环境搭建.txt

    ctags ubuntu 12.04 编译版本

    ctags ubuntu 12.04 编译版本,这里为了方便诸位编译ctags出错。奉献自己编译生成测ctags

    Ubuntu12.04下编译成功的APUE附带源码

    《在Ubuntu 12.04环境下编译与学习APUE源码》 APUE(Advanced Programming in the UNIX Environment)是一本经典的UNIX/Linux系统编程教材,由Stephen R. Henderson和Richard Stevens共同撰写,旨在深入讲解UNIX...

    ubuntu12.04安装及配置过程详解

    - 选择NeoGrub引导项,进入Ubuntu安装界面。 - 取消光驱挂载:`sudo umount -l /isodevice` - 选择安装语言和安装类型(自定义)。 - 分区方案参考: - `/`分区:20GB,文件系统类型ext4。 - `swap`分区:3GB...

    ubuntu12.04编译内核模块

    在 Ubuntu 12.04 下编译内核模块前,需要安装 essential 软件包,使用以下命令安装: `apt-get install build-essential` 这将安装编译内核模块所需的基本工具。 二、编写 Hello World 内核模块 创建一个名为 ...

    Ubuntu 12.04下如何安装MySQ

    Ubuntu 12.04下如何安装MySQL ,我按照这文档,已经成功在ubuntu 12.04安装成功mysql!

    怎样在 Ubuntu 12.04 中安装和设置 Samba 实现网上邻居共享

    Ubuntu 12.04 中 Samba 安装和设置指南 Samba 是一款功能强大的共享工具,可以实现与 Windows 的共享,就是我们经常在 Windows 计算机之间使用的网上邻居功能,可以共享文件和打印机等。在 Ubuntu 12.04 中安装和...

    Ubuntu Server 12.04安装图解

    通过详细阅读提供的"ubuntu安装图解",可以清晰地了解每个步骤,使得新手也能顺利进行安装。然而,随着技术的发展,更现代的版本如Ubuntu 20.04 LTS可能包含更多改进和安全特性,因此在新项目中考虑使用更新的版本是...

    ubuntu 12.04 使用手册1—4

    首先,手册的第一部分可能涵盖了安装Ubuntu 12.04的全过程,包括双系统安装、U盘启动制作、分区管理等。安装过程中可能会讲解如何选择合适的安装类型,如LTS版本的优势,以及如何确保数据安全,避免误删其他操作系统...

    opencv2.4.9 ubuntu12.04LTS i386下的编译包java

    总的来说,这个OpenCV 2.4.9的编译包为Ubuntu 12.04 LTS的i386用户提供了在Java环境中进行计算机视觉开发的完整解决方案,涵盖了从视频读取到复杂图像处理的各个方面。开发者可以借此构建各种视觉应用,例如人脸识别...

    ubuntu12.04下Java开发环境的搭建

    ubuntu12.04下Java开发环境的搭建

    在ubuntu12.04下编译内核

    在开始编译Linux内核之前,首先需要确保Ubuntu 12.04上已经安装了必要的编译工具,并且准备好了内核源码。以下是具体步骤: 1. **更换软件源:** 为了加速软件包的下载速度,建议将默认的软件源更改为国内的服务器...

    ubuntu12.04配置java开发环境

    ### Ubuntu 12.04 Java 开发环境配置详解 #### 一、前言 本文旨在为希望在 Ubuntu 12.04 系统上搭建 Java 开发环境的新手提供一份详细的指南。通过本教程,您将学习如何安装 JDK(Java Development Kit)、配置环境...

    Ubuntu12.04下的JDK安装

    在Ubuntu 12.04操作系统中安装Java Development Kit (JDK) 是开发Java应用程序的基础步骤。以下是详细的安装过程: 1. **下载JDK**: 首先,访问Oracle官方网站...

    基于ubuntu12.04LTS搭建Qt&QtE开发环境

    总结起来,搭建Ubuntu 12.04上的Qt和Qt-Embedded开发环境涉及到安装Qt Creator,配置和编译Qt库,以及将编译后的库路径添加到环境变量。整个过程可能需要较长时间,特别是编译过程,但完成后将为开发者提供一个完整...

    ubuntu12.04 SSH升级到OpenSSH_7.9p1, OpenSSL 1.1.1b

    原来的ssh扫描报太多漏洞了,整理了下一键安装的脚本直接升级到最新的;...#update Ubuntu12.04 : OpenSSH_7.9p1, OpenSSL 1.1.1b 26 Feb 2019 #old : OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012

Global site tag (gtag.js) - Google Analytics