在ubuntu机器上部署php测试环境

By | 01月18日
Advertisement

在ubuntu机器上部署php测试环境

一、部署环境

Ubuntu11.10_X86_32,编译安装相应的软件:nginx+mysql+php。

二、软件安装

2.1 软件下载

libiconv-1.14.tar.gz

libmcrypt-2.5.7.tar.gz

mcrypt-2.6.8.gz

mhash-0.9.9.9.tar.gz

mysql-5.5.39.tar.gz

nginx-1.1.10.tar.gz

pcre-8.20.tar.gz

php-5.4.34.tar.gz

2.2 环境配置

系统较为纯净要安装一些必要的工具软件

apt-get install gcc g++ ssh automake cmake build-essential autoconf make re2c wget cron bzip2 rcconf flex vim bison m4 mawk cpp binutils libncurses5 unzip tar libncurses5 libncurses5-dev libtool libpcre3 libpcrecpp0 libssl-dev zlibc openssl libxml2-dev libltdl3-dev libpcre3 libpcrecpp0 libssl-dev zlibc openssl libxml2-dev libltdl3-dev libmcrypt-dev

2.3 辅助软件安装

2.3.1 libiconv-1.14.tar.gz

tar zxvf libiconv-1.14.tar.gz

cd libiconv-1.14/

cd libiconv-1.14/

./configure --prefix=/usr/local

make

make install

2.3.2 mhash-0.9.9.9.tar.gz

tar zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9

./configure

make

make install

cd ../

2.3.3 libmcrypt-2.5.8.tar.gz

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8/

./configure

make

make install

/sbin/ldconfig

cd libltdl/

./configure --enable-ltdl-install

make

make install

2.3.4 mcrypt-2.6.8.tar.gz

tar zxvf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8/

/sbin/ldconfig

./configure

make

make install

2.3.5 pcre-8.10.tar.gz

tar zxvf pcre-8.10.tar.gz

cd pcre-8.10

./configure

make

make install

2.4 安装mysql

groupadd mysql #添加mysql组

useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统

mkdir -p /data/mysql #创建MySQL数据库存放目录

chown -R mysql:mysql /data/mysql #设置MySQL数据库目录权限

tar zxvf mysql-5.5.19.tar.gz

cd mysql-5.5.19

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

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8-unicode_ci -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306

make

make install

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

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

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

cd /usr/local/mysql

cp ./support-files/my-huge.cnf /etc/my.cnf #拷贝配置文件(注意:/etc目录下面默认有一个my.cnf,直接覆盖即可)

vi /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加

datadir = /data/mysql #添加MySQL数据库路径

./scripts/mysql_install_db --user=mysql #生成mysql系统数据库

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动

chmod 755 /etc/init.d/mysqld #增加执行权限

启动:bin/mysqld_safe -user=mysql &

ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

ln -s /usr/local/mysql/include/mysql /usr/include/mysql

修改密码/usr/local/mysql/bin/mysqladmin -u root -p password "123456"

错误1

解决办法:

2.5 安装php

apt-get install libfreetype6-dev libjpeg8-dev libpng12-dev slapd ldap-utils db5.1-util

apt-get install libldap2-dev libsasl2-dev

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --disable-maintainer-zts

错误1:configure: error: Please reinstall the libcurl distribution - easy.h should be in /include/curl/

解决方法:apt-get install curl

apt-get install libcurl4-gnutls-dev

apt-get install php5-curl

错误2:找不到ldap

解决方法:在配置信息中删除 ----with-ldap

make ZEND_EXTRA_LIBS='-liconv'

make test

make install

cp php.ini-production /usr/local/php/etc/php.ini

执行命令查看PHP相关配置,获取PHP扩展存放目录extension-dir值:/usr/local/php/bin/php-config

这里显示extension_dir =的信息 // http://www.pprar.com

vi /usr/local/php/etc/php.ini

修改:extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"

创建fastcgi配置文件

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

修改fastcgi配置文件

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

修改文件以下两行,不修改启动fastcgi会报错 “fastcgi [pool www] cannot get gid for group ‘nobody’”

user = nobody

group = nobody

修改为

user = www

group = www

错误1:“fastcgi [pool www] cannot get gid for group ‘www’”

解决方法:需要自己创建用户以及组

Sudo useradd www

启动fastcgi

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

错误2ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)

ERROR: FPM initialization failed

解决方法:netstat -lntup | grep 9000

killall php-fpm

错误3couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory

解决方法:1)安装 getlibs

下载:getlibs-all.deb

执行:sudo dpkg -i --force-all getlibs-all.deb

sudo apt-get update getlibs aapt

2)安装32位库

getlibs -p gnome-keyring:i386

3)生成符号链接

sudo ln -s /usr/lib32/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so

2.6 安装Nginx

tar zxvf nginx-1.1.10.tar.gz

cd nginx-1.1.10/

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module

make

make install

启动Nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

重启服务:/usr/local/nginx/sbin/nginx

停止服务:killall nginx

三、应用部署

3.1 环境部署

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

添加

server {

listen 7070; #外网访问端口号

server_name blue-desk.com.cn;

location / {

root /usr/local/src/wwwroot; #应用所在地址

index index.html index.htmi index.php;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

location ~ \.php$ {

root /usr/local/src/wwwroot; #应用所在地址

fastcgi_pass 10.128.7.101:9000; #与php-fpm联系的端口号,php-fpm的配置在/usr/local/php/etc/php-fpm.conf

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/local/src/wwwroot$fastcgi_script_name; #/usr/local/src/wwwroot 应用所在地址

include fastcgi_params;

}

}

3.2 配置应用

onethink 应用配置

数据库名:mysql

用户名: root

数据库密码:123456

Similar Posts:

  • [置顶] [Linux]在Linux上部署Java开发环境笔记(四):Linux中安装Oracle10g

    在Linux上部署Java开发环境笔记(四) Linux中安装Oracle10g 2010/06/15 一.下载Oracle XE 此次使用的Linux是红旗桌面6.0版本,oracle官方称oracle10g标准版(10201_database_linux32.zip)只支持 redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2,redhat-5等Linux服务器版本 本人亲测,也确实不行,安装到62%的时候出现卡死的情况 重

  • 漫谈ubuntu系统上搭建Android开发环境

    漫谈ubuntu系统上搭建Android开发环境 概述 公司换了一批固态硬盘的电脑,我也用上了固态硬盘速度刚刚地. 下面跟大家分享一下我使用ubuntu和搭建Android开发环境的习惯. 开发环境 ubuntu 12.04 x64 1.ubuntu环境设置 将ubuntu自带的文件夹(音乐,下载等等)转换为英文 在终端运行这个命令 export LANG=en_US 然后运行这个 xdg-user-dirs-gtk-update 这时会弹出一个对话框点击更改文件名就好了 然后在运行这个命令将语

  • tcpcopy 从线上机器引流到测试环境

    Tcpcopy(项目主页http://code.google.com/p/tcpcopy/)是一个请求复制(所有基于tcp的packets)开源的小工具,真的是非常小,用起来也非常地简单.它主要的原理就是将线上机器收到的用户请求copy一份,同时转发给目标机器(预发或测试机器),但只接收request,并不会产生response,因此对线上用户使用无影响. 曾经应用于网易的广告投放系统,urs系统,nginx hmux协议等系统,避免了上线带来的很多问题.目前此工具已经广泛应用于各大互联网公司.

  • 在Ubuntu Linux上部署IBM DB2 Express-C和PHP

    准备操作系统 开始之前,请确保您运行的是 Ubuntu 10.04 LTS(长期支持).要下载和安装 Ubuntu 10.04 LTS,请访问 Ubuntu 网站 http://www.ubuntu.com/download/server/download.按照步骤下载该软件,创建一个 CD 或可引导的 U 盘,然后开始安装.Ubuntu 安装程序将指导您执行整个安装过程. 更新软件存储库 Advanced Packaging Tool (APT) 包管理系统将用于下载和安装 DB2 Expre

  • 1.单机部署hadoop测试环境

    之前看了很多理论上的知识,感觉云里雾里的,所以赶紧着手搭建个单机版的hadoop跑一跑,开启自学大数据技术的第一步~~ 1.在开源的世界里,我就是个土豪,要啥有啥,所以首先你得有个jdk,有钱所以用最新的java8,hadoop使用的是hadoop2.6.0. 2.配置好java后,可以在/etc/profile里配置好环境变量,方便之后使用,紧接着解压hadoop2.6.0.tar.gz. 3.接下来配置hadoop,所有的配置文件都在hadoop文件夹下的etc/hadoop中: (1)ha

  • 在Linux上部署Java开发环境笔记(一)虚拟机安装Linux,配置Linux和主机XP能互Ping成功

    本文使用的虚拟机软件为: VirtualBox-3.2.4-62467-Win.exe 下载地址: http://dlc.sun.com.edgesuite.net/virtualbox/3.2.4/VirtualBox-3.2.4-62467-Win.exe 安装的Linux版本为: 红旗Linux桌面版6.0系统光盘.iso 下载地址: http://www.xdowns.com/soft/softdown.asp?softid=38411 1.查看XP的IP地址 在XP命令行窗口中,输入"

  • 如何在一台机器上部署多个tomcat以及memcache?

    .......待补充

  • 微软ASP.NET站点部署指南(5):部署到IIS上作为测试环境

    1. 综述 开发程序的时候,通常我们是在Visual Studio 里测试,默认使用的是Visual Studio Development Server(Cassini),使用这个可以让我们开发测试工作更容易,但是在IIS上可能不一定能够正常工作.所以,结果可能是在Visual Studio 里运行正常,但是一旦部署到IIS上就会出错. 你可以通过下面一些方法来测试确保你的程序没问题: 开发的时候,使用IIS Express或者正式版IIS代替默认的Visual Studio Developme

  • 在一台机器上控制Erlang集群节点的实验1

    最近被在多台机器上部署erlang节点测试,机器太多,开了N多putty窗口,切来换去都快搞疯了,这可不是长久之计,赶紧想办法.受mryufeng这篇文章的提示做了些实验. 实验1:所有erlang程序只部署在一台机器(作为主节点,master),其它机器节点(称为从节点,slave)的启动都由主节点控制,同时从节点的代码都来自master 启动作为boot服务器的主节点,位于10.0.0.253,节点名为'master@10.0.0.253': erl -kernel start_boot_s

  • jenkins集群测试环境原理、部署及常见问题解决

    Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满足各式的集成需求. 因为手里项目所用到的稳定性和性能测试工具每天手动部署到各台windows机器上比较浪费时间,所以这里使用jenkins用于部署测试工具到各个测试机上运行.整套环境需要一个中心服务器和若干测试机器组成的slave,这就是jenkins的Master/Slave结构,如下所示: 在我们下面的使用中,master和slave是通过jnlp协议来通讯的. Master机器: 我们需要在我们

Tags: