Linux(6.4)+Nginx(1.4.1)+Mysql(5.6.12)+Php(5.5.0)源码编译安装环境介绍内核2.6.32,系统为CentOS6.4的64为系统,ip地址为192.168.2.103。
如下:[root@ASANGE ~]# uname -r2.6.32-358.el6.x86_64[root@ASANGE ~]# cat /etc/redhat-releaseCentOS release 6.4 (Final)[root@ASANGE ~]# ifconfig | grep addr: |awk '{print $2}' |awk -F: '{print $2}'192.168.2.103127.0.0.1配置本地yum源:创建本地yum源,挂载光盘并创建repo文件:[root@ASANGE ~]# mount /dev/cdrom /media/cdrom/[root@ASANGE ~]# vim /etc/yum.repos.d/local.repo //添加如下内容[LOCAL]name=localbaseurl=file:///media/cdromenabled=1gpgcheck=0[root@ASANGE ~]# yum clean all解决依赖关系:在编译安装nginx、mysql、和php时依赖的包提前安装:1 [root@ASANGE ~]# yum -y install gcc pcre pcre-devel gcc-c++ autoconf libxml2 libxml2-devel zlib zlib-develglibc libjepg libjepg-devel libpng libpng-devel glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devele2fsprogs e2fsprogs-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-serversmake简单介绍一下:GCC(GNU Compiler Collection,GNU编译器套装),是一套由GNU开发的编程语言编译器。
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl 兼容的正规表达式库. autoconf是一个用于生成可以自动地配置软件源代码包以适应多种Unix类系统的shell脚本的工具.libxml2是一个用来解析XML文档的函数库,它用C语言写成, 并且能为多种语言所调用. zlib是提供资料压缩之用的函式库.glibc:GNU C 库(GNU C Library,又称为glibc)是一种按照LGPL许可协议发布的,公开源代码的,免费的,方便从网络下载的C的编译程序.ncurses(newcurses)是一个程序库,它提供了API,可以允许程序员编写独立于终端的基于文本的用户界面。
cURL是一个利用URL语法在命令行下工作的文件传输工具,它支持文件上传和下载,所以是综合传输工具.e2fsprogs(又称为e2fs programs)是用以维护ext2,ext3和ext4文件系统的工具程序集。
OpenSSL是套开放源代码的SSL套件,其函式库是以C语言所写成,实作了基本的传输层资料加密功能。
OpenLDAP是轻型目录访问协议(Lightweight Directory Access Protocol,LDAP)的自由和开源的实现.make编译工具。
gd:graphic device,图像工具库,gd库是php处理图形的扩展库,gd库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。
在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。
(TTP image filter modulerequires the GD library.)一、编译安装nginx1、为nginx创建用户和组:[root@ASANGE ~]# groupadd -r nginx[root@ASANGE ~]# useradd -r -g nginx -s /bin/false -M nginx2、下载nginx源码包,并安装:nginx-1.4.1.tar.gz[root@ASANGE ~]# tar xf nginx-1.4.1.tar.gz[root@ASANGE ~]# cd nginx-1.4.1[root@ASANGE nginx-1.4.1]#./configure --user=nginx --group=nginx --prefix=/usr --error-log- path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --with- http_stub_status_module --with-http_ssl_module --with-pcre --with-http_realip_module --with-http_gzip_static_module--with-file-aio[root@ASANGE nginx-1.4.1]# make && make install3、为nginx提供启动脚本[root@ASANGE ~]# vim /etc/init.d/nginx(网络查找)为启动脚本赋予执行权限、添加至服务管理列表并开机自动启动:[root@ASANGE ~]# chmod +x /etc/init.d/nginx[root@ASANGE ~]# chkconfig --add nginx[root@ASANGE ~]# chkconfig nginx on4、启动服务并测试,(注意iptables规则可能阻止访问):[root@ASANGE ~]# service nginx start二、安装mysql:1、首先下载文件:mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz2、为mysql创建数据目录、用户和组:[root@ASANGE mysql]# mkdir -pv /mysql/data[root@ASANGE mysql]# groupadd -r mysql[root@ASANGE mysql]# useradd -g mysql -r -s /bin/false -M -d /mysql/data mysql3、解压并初始化安装[root@ASANGE ~]# tar vxf mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz[root@ASANGE ~]# mv mysql-5.6.12-linux-glibc2.5-x86_64 /usr/local/mysql[root@ASANGE ~]# cd /usr/local/mysql[root@ASANGE mysql]# lsbin data include lib mysql-test scripts sql-benchCOPYING docs INSTALL-BINARY man README share support-files[root@ASANGE mysql]# chown mysql:mysql /mysql/data/[root@ASANGE mysql]# chown mysql:mysql ./*[root@ASANGE mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/mysql/data[root@ASANGE mysql]# chown -R root ./*安装完成之后,主配置文件为/usr/local/mysql/f,可根据需要进行文件配置,这里添加如下项:[root@ASANGE mysql]# mkdir /var/run/mysqld[root@ASANGE mysql]# vim f[mysqld]datadir = /mysql/databasedir = /usr/local/mysqlport =3306socket = /tmp/mysql.sockpid_file = /var/run/mysqld/mysqld.pid4、将mysql的头文件连接进系统头文件路径:1 [root@ASANGE mysql]# ln -sv /usr/local/mysql/include /usr/include/mysql5、输出mysql库文件:[root@ASANGE mysql]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf[root@ASANGE mysql]# ldconfig6、添加mysql命令的环境变量[root@ASANGE mysql]# vim /etc/profilePATH=$PATH:/usr/local/mysql/bin[root@ASANGE mysql]# . /etc/profile7、为mysql添加启动脚本,添加进服务列表并开机自动启动[root@ASANGE mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld[root@ASANGE mysql]# chkconfig --add mysqld[root@ASANGE mysql]# chkconfig mysqld on至此mysql安装完成,启动mysql服务1 [root@ASANGE mysql]# service mysqld start三:编译安装phpphp依赖很多库,这里将php依赖的库编译安装进/usr/local/phpextend文件夹里1 [root@ASANGE ~]# mkdir /usr/local/phpextend1、编译安装jpegsrc,增强对jpeg格式图片的处理功能。