当前位置:首页 > CN2资讯 > 正文内容

Debian下nginx-1.0.5 + mysql-5.5.15 +php-5.3.8编译安装

1天前CN2资讯

 以前在debian下安装软件都是使用软件源安装的,虽然步骤较少,但仍不能理解linux下安装软件的具体细节,于是决定手动编译安装各种软件,以解心中困惑
     由于国内租用虚拟主机或VPS 价格都较高,而虚拟主机虽价格适中,但不利于学习各种系统,综上考虑还是从网上购买国外VPS,已使用burstvps八个月时间,感觉还是挺稳定的,由于是代购,须提前10天续费,八月份时回老家一次,错过了10天之期,没办法只好从网上再次查找价格适中的vps,YardVPS支持支付宝付款,从乐山电信或成都电信ADSL测试来看,网络延迟在220ms左右,比burstvps好不少(大约在290ms-350ms波动),使用过几天发现家里使用的ADSL还是比较稳定,网络延迟一直在220ms以内,而公司所用ADSL 访问延迟却是420ms以上,而且不定时丢包,受不了了,只好再换,找到了ecvps,试用了几天,发现网络延时几乎都在229ms左右(无论是家用ADSL,还是公司ADSL,或是乐山电信),unixbench 测试效果还是比较满意. 在使用yardvps时没有写下编译安装nginx + php5.3.8 + mysql5.5.15,现在决定写下此过程,以供今后参考。

     由于ecvps提供的VPS系统中没有debian 6.0 ,只能选择使用5.0或4.0的版本,没法只好安装5.0的debian,以下为安装步骤
一. 检查系统环境
     1. netstat -ntlp 查看系统中运行哪些网络服务,不需要用的都可以关掉,比如exim4(邮件服务程序), aptitude purge exim4-base exim4-config exim4-daemon-light .
    2. 安装编译环境,debian 5系统发行版默认没有安装gcc等工具。需安装一下
aptitude install build-essential
二. 编译安装相关组件
    1.安装zlib,openssl等组件
wget http:///software/webserver/zlib125.zip
unzip -x zlib125.zip
cd zlib-1.2.5
./configure --prefix=/usr
make && make install
wget http:///software/webserver/openssl-0.9.8r.tar.gz
tar zxvf openssl-0.9.8r.tar.gz
cd openssl-0.9.8r
make && make install
    2.安装 nginx
wget http:///software/webserver/nginx-1.0.5.tar.gz
wget http:///software/webserver/pcre-8.13.tar.gz
tar zxvf pcre-8.13.tar.gz
tar zxvf nginx-1.0.5.tar.gz
cd nginx-1.0.5
./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin --with-http_ssl_module --with-http_sub_module --with-http_flv_module --with-http_stub_status_module --with-zlib=../zlib-1.2.5 --with-openssl=../openssl-0.9.8r --with-pcre=../pcre-8.13make && make install
配置开机启动
wget http:///software/webserver/nginx.txt
cp nginx.txt /etc/init.d/nginx
chmod + x /etc/init.d/nginx
chkconfig nginx on
    
  3.安装 mysql ,安装mysql-5.5.15需安装cmake ,
wget http:///software/webserver/cmake-2.8.5.tar.gz
wget http:///software/webserver/mysql-5.5.15.tar.gz
tar zxvf cmake-2.8.5.tar.gz
cd cmake-2.8.5
./bootstrap
make
make install 
在安装最后一步时可能会出错,解决办法是指定安装位置make install DESTDIR=/usr/local.

建立mysql安装目录及数据目录
mkdir -p /usr/local/mysql
mkdir -p /data/mysql

建立mysql用户及组
groupadd mysql
useradd -d /usr/local/mysql -g mysql -s /usr/sbin/nologin mysql

设定目录mysql目录属主及权限
chown mysql.mysql /usr/local/mysql
chown -R mysql.mysql /data/mysql
chmod 755 /usr/local/mysql
chmod -R 755 /data/mysql

用cmake编译安装mysql
cd mysql-5.5.15
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=mysql
编译过程中可能会出错,需安装libncurses5-dev及bison
aptitude install libncurses5-dev bison
然后删除CMakeCache.txt
rm CMakeCache.txt
继续编译通过
make
make install

复制配置文件my.cnf
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
chown mysql.mysql /etc/my.cnf
chmod 755 /etc/my.cnf

配置开机启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig mysqld on

启动mysql并设置密码
/etc/init.d/mysqld start
/usr/local/mysql/bin/mysqladmin -u root password '新密码'

OK,mysql配置完成。

  4.安装php
编译gd库,这个在搭建discuz论坛时需用到
(1)安装libpng
wget http:///software/webserver/libpng-1.5.4.tar.gz
tar zxvf libpng-1.5.4.tar.gz
cd libpng-1.5.4
./configure
make 
make install

备注: libpng默认安装位置/usr/local,若指定安装在/usr/local/png,则编译gd时会提示找不到png.h等文件.

(2)安装freetype
wget http:///software/webserver/freetype-2.4.6.tar.gz
tar zxvf freetype-2.4.6.tar.gz
cd freetype-2.4.6
./configure --prefix=/usr/local/freetype
make
make install

(3)安装jpeg
wget http:///software/webserver/jpegsrc.v8c.tar.gz
tar zxvf jpegsrc.v8c-tar.gz
cd jpeg-8c
./configure --prefix=/usr/local/jpeg
make
make install

(4) 安装libxml2
wget http:///software/we ... ources-2.7.8.tar.gz
tar zxvf libxml2-2.7.8.tar.gz
cd libxml2-2.7.8
./configure --prefix=/usr/local/libxml2
make
make install

(5)安装GD
wget http:///software/we ... gd-GD_2_0_33.tar.gz
tar zxvf pierrejoye-gd-libgd-GD_2_0_33.tar.gz
cd pierrejoye-gd-libgd-GD_2_0_33
./configure --prefix=/usr/local/gd --with-png=/usr/local --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/jpeg
make
make install

(6)编译PHP
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --with-libxml-dir=/usr/local/libxml --with-openssl=/usr/local --with-zlib=/usr --with-gd=/usr/local/gd --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local --with-freetype-dir=/usr/local/freetype --enable-gd-native-ttf --enable-gd-jis-conv --with-mhash=/usr/local --enable-mbstring --with-mcrypt=/usr/local --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysqld.sock --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --without-pear

make
make test
make install

复制php.ini到配置文件目录及php-fpm 开机启动
cp php.ini-production /usr/local/php/etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
这时候还不能使用/etc/init.d/php-fpm start启动,需修改一下php-fpm配置文件才可以,配置文件位置php安装目录 etc 目录下,默认有个参考文件.
cp php-fpm.conf.default php-fpm.conf
nano php-fpm.conf
,pm.start_servers = 20
,pm.min_spare_servers = 5
,pm.max_spare_servers = 35
去掉以上三项前面的逗号,这时再使用/etc/init.d/php-fpm start 即可启动。
Memcahed构建与安装php memcache

1.memcached需用到libevent这个库
wget http:///software/we ... .0.12-stable.tar.gz
tar zxvf libevent-2.0.12-stable.tar.gz
cd libevent-2.0.12-stable
./confiugre --prefix=/usr
make && make install

2.安装memcached
wget http:///software/webserver/memcached-1.4.6.tar.gz
tar zxvf memcached-1.4.6.tar.gz
cd memcached-1.4.6
./configure --with-libevent=/usr
make && make install
在make install这步时出错了,竟不能安装,查看了错误原因,原来是/usr/local/man目录中已存在一个man1,于是改名man2,再次make install成功.

3.安装 php memcache扩展
wget http:///software/webserver/memcache-3.0.6.tgz
tar xvf memcache-3.0.6.tgz
cd memcache-3.0.6
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-conf=/usr/local/php/bin/php-config --with-zlib-dir=/usr
make
make test
make install
安装完成后,提示
Installing shared extensions:  /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626


配置php.ini文件
在文件最后添加
extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626"
extension=


查看php是否成功加载
/usr/local/php/bin/php -m


[PHP Modules]
Core
ctype
date
dom
ereg
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
mcrypt
memcache
mhash
mysql
mysqli
openssl
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
sockets
SPL
SQLite
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
zlib


[Zend Modules]

在15行看到了memcache,已成功加载

启动memcached服务端程序
memcached -d -m 64 -u www-data -l localhost -p 11211 -c 640 -P /tmp/Memcached.pid

各个参数的意义
-d选项是启动一个守护进程,
-m是分配给Memcached使用的内存数量,单位是MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,
-p是设置Memcache监听的端口,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件


配置memcached开机启动
wget http:///software/webserver/memcached.txt
cp memcached.txt /etc/init.d/memcached
chmod + x /etc/init.d/memcached
chkconfig memcached on

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/18879.html

    分享给朋友:

    “Debian下nginx-1.0.5 + mysql-5.5.15 +php-5.3.8编译安装” 的相关文章

    中国电信CN2线路安装教程:详解企业级国际通信解决方案

    CN2线路概述与准备工作作为一名企业IT管理员或是对网络性能有高要求的个人用户,你是否经常为跨国数据传输的延迟、丢包问题而困扰?如果是,那么中国电信的CN2线路可能是你的最佳选择。作为国内领先的通信运营商,中国电信推出的CN2线路专为企业级用户设计,提供高带宽、低延迟、高稳定性的国际通信服务,是跨境...

    中国电信CN2线路图解教程大全:深度解析网络优化与提速方案

    想要彻底了解中国电信CN2线路的优势与应用场景?本文通过详细的图解教程和专业解析,为您揭示CN2线路的核心功能、优势以及如何选择适合您的网络解决方案。无论是企业用户还是个人用户,都能在这里找到提升网络体验的关键!随着互联网技术的飞速发展,网络已经成为我们工作和生活的重要基础设施。而在众多网络解决方案...

    普通人能否使用CN2线路?揭开高效网络的秘密

    在中国互联网发展迅速的今天,越来越多的人开始关注网络质量的提升。无论是家庭宽带还是移动网络,大家对于上网速度、稳定性以及低延迟都有着越来越高的要求。在这样的背景下,CN2线路作为一个备受关注的网络线路,吸引了许多人的目光。普通人能否使用CN2线路呢?这篇文章将为您详细解答这一问题。CN2线路的重要性...

    云桌面是什么?解锁现代工作与学习的新方式

    云桌面是一个令人兴奋的概念,尤其是在如今这个数字化迅速发展的时代。我个人认为,云桌面不仅仅是一项技术,更是一种全新的工作方式。简单来说,云桌面是一种基于云计算的桌面虚拟化解决方案。它允许用户通过互联网随时随地访问一个在云端运行的桌面环境。想象一下,不论你在咖啡馆、家中还是办公室,只需一台设备和网络连...

    如何选择合适的免费VPS服务并有效利用

    免费VPS概述 在研究云计算相关技术的时候,VPS(虚拟专用服务器)成了一个非常重要的概念。简单来说,VPS是一种通过虚拟化技术来划分的服务器,每个VPS都是独立的,用户可以获得与一个物理服务器类似的操作体验。作为个人开发者或中小企业的选择,VPS提供了灵活性和可控性,是许多人搭建网站或开发项目的理...

    全面解析CPU租用服务:灵活性与高效性的最佳选择

    CPU租用服务概述 在当今快速发展的科技环境中,CPU租用服务作为一种创新的计算资源提供模式,正在受到越来越多用户的关注。这种服务使得用户可以根据具体需求,灵活地租用不同配置的CPU资源,从而有效地降低了硬件采购成本。 CPU租用服务的意义不仅在于提供强劲的计算能力,更在于它的灵活性。用户不再需要一...