热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Debian下Nginx-1.0.5+MySQL-5.5.15+PHP-5.3.8编译安装

以前在Debian下安装软件都是使用软件源安装的,虽然步骤较少,但仍不能理解Linux下安装软件的具体细节,于是决定手动编译安装各种软件,以解心中困惑由于国内租用虚拟主机或VPS价格都较高,而虚拟主机虽价格适中,但不利于学习各种系统,综上考虑还是从网

以前在Debian下安装软件都是使用软件源安装的,虽然步骤较少,但仍不能理解Linux下安装软件的具体细节,于是决定手动编译安装各种软件,以解心中困惑

由于国内租用虚拟主机或VPS 价格都较高,而虚拟主机虽价格适中,但不利于学习各种系统,综上考虑还是从网上购买国外VPS,试用了几天,测试效果还是比较满意. 在使用时没有写下编译安装Nginx-1.0.5 + MySQL-5.5.15 +PHP-5.3.8,现在决定写下此过程,以供今后参考。

由于提供的VPS系统中没有Debian 6.0 ,只能选择使用5.0或4.0的版本,没法只好安装5.0的Debian,以下为安装步骤。

首先下载本文要用到的相关软件:

下载在Linux公社的1号FTP服务器里,下载地址:

FTP地址:ftp://www.linuxidc.com

用户名:www.linuxidc.com

密码:www.muu.cc

在 2011年LinuxIDC.com\9月\Debian下Nginx-1.0.5 + MySQL-5.5.15 +PHP-5.3.8编译安装相关文件

下载方法见 http://www.linuxidc.net/thread-1187-1-1.html

 

一. 检查系统环境

1. netstat -ntlp 查看系统中运行哪些网络服务,不需要用的都可以关掉,比如exim4(邮件服务程序), aptitude purge exim4-base exim4-config exim4-daemon-light .

2. 安装编译环境,debian 5系统发行版默认没有安装gcc等工具。需安装一下

aptitude install build-essential

二. 编译安装相关组件

1.安装zlib,openssl等组件


unzip -x zlib125.zip
cd zlib-1.2.5
./configure --prefix=/usr
make && make install

tar zxvf openssl-0.9.8r.tar.gz
cd openssl-0.9.8r
make && make install

2.安装 nginx
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

配置开机启动

cp nginx.txt /etc/init.d/nginx
chmod + x /etc/init.d/nginx
chkconfig nginx on
   
3.安装 mysql ,安装mysql-5.5.15需安装cmake ,
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库,这个在搭建discuzbbs' target='_blank'>论坛时需用到

(1)安装libpng

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

tar zxvf freetype-2.4.6.tar.gz
cd freetype-2.4.6
./configure --prefix=/usr/local/freetype
make
make install

(3)安装jpeg

tar zxvf jpegsrc.v8c-tar.gz
cd jpeg-8c
./configure --prefix=/usr/local/jpeg
make
make install

(4) 安装libxml2

tar zxvf libxml2-2.7.8.tar.gz
cd libxml2-2.7.8
./configure --prefix=/usr/local/libxml2
make
make install

(5)安装GD

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这个库

tar zxvf libevent-2.0.12-stable.tar.gz
cd libevent-2.0.12-stable
./confiugre --prefix=/usr
make && make install

2.安装memcached

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扩展

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=memcache.so


查看php是否成功加载memcache.so
/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开机启动

cp memcached.txt /etc/init.d/memcached
chmod + x /etc/init.d/memcached
chkconfig memcached on


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Jquery 跨域问题
    为什么80%的码农都做不了架构师?JQuery1.2后getJSON方法支持跨域读取json数据,原理是利用一个叫做jsonp的概念。当然 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
author-avatar
五洋顽石_449
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有