一、源代碼
源碼的安裝需要三個步驟:
1. ./configure(腳本) --prefix(指明安裝路徑) --sysconfdir(安裝完配置腳本配
置路徑)
2. Make (編譯成二進制文件或模塊)
3.make install
所需要的源碼包:
libevent-2.0.16-stable.tar.gz NGINX功能增強所需包
mysql-5.5.15-linux2.6-i686.tar.gz
nginx-1.0.11.tar.gz
php-5.3.7.tar 官方網站 www.php.net
二、編譯環境
1.操作系統的版本 red hat 企業版5 2.6.18-164.el5
2.Development Libraries (開發的庫文件)
3.Development Tools (開發的工具)
4.Legacy Software Development (傳統軟件開發工具)
5.X Software Development (圖形化的開發工具)
6.GNOME Software Development (gnome桌面下的開發工具) #可選項
7.KDE Software Development (kde桌面下的開發工具)#可選項
8.Java Development (依賴於java的開發工具) #可選項
三、lnmp的搭建過程
[root@cyz ~]# yum -y groupinstall "Development Libraries" "Development Tools" "X
Software Development"
[root@cyz ~]# yum grouplist
說明:源碼安裝編譯所需要的工具包
安裝libevent:
[root@cyz ~]# tar -xjvf libevent-2.0.16-stable.tar.gz -C /usr/src/
[root@cyz ~]# cd /usr/src/
[root@cyz src]# ll
[root@cyz src]# cd libevent-2.0.16-stable/
[root@cyz libevent-2.0.16-stable]# ./configure
[root@cyz libevent-2.0.16-stable]# make
[root@cyz libevent-2.0.16-stable]# make install
[root@cyz libevent-2.0.16-stable]# cd /usr/local/
[root@cyz local]# vim /etc/ld.so.conf.d/libevent.conf #編寫事件通知機制所需庫文件的路徑
[root@cyz local]# ldconfig -v |grep libevent #測試是否能夠調用庫文件
安裝nginx:
[root@cyz ~]# yum install pcre-devel #安裝該包
[root@cyz ~]# tar -zxvf nginx-1.0.11.tar.gz -C /usr/src/
[root@cyz ~]# cd /usr/src/nginx-1.0.11/
[root@cyz nginx-1.0.11]# groupadd -r nginx #創建組
[root@cyz nginx-1.0.11]# useradd -r -g nginx -s /bin/false -M nginx #創建用戶
[root@cyz nginx-1.0.11]# ./configure \
> --prefix=/usr \
> --sbin-path=/usr/sbin/nginx \
> --conf-path=/etc/nginx/nginx.conf \
> --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 \
> --user=nginx \
> --group=nginx \
> --with-http_ssl_module \
> --with-http_flv_module \
> --with-http_stub_status_module \
> --with-http_gzip_static_module \
> --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
> --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
> --with-pcre
[root@cyz nginx-1.0.11]# make
[root@cyz nginx-1.0.11]# make install
[root@cyz nginx-1.0.11]# mkdir -pv /var/tmp/nginx/proxy #執行nginx時提示缺少目錄,所以手動創建
[root@cyz nginx-1.0.11]# nginx #若要使用service進行該服務管理,則需要自己編寫相關腳本
[root@cyz nginx-1.0.11]# netstat -tupln |grep nginx #查看是否已經啓用
在pc上測試:
說明:nginx已經安裝成功了。
安裝mysql :
[root@localhost ~]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/ #解壓到/usr/local
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ln -s mysql-5.5.15-linux2.6-i686 mysql #建立一個mysql軟鏈接
[root@localhost local]# ll
[root@localhost local]# cd mysql
[root@localhost mysql]# less INSTALL-BINARY #查看配置幫助文件進行相關配置
根據上圖進行配置:
[root@localhost mysql]# groupadd mysql
[root@localhost mysql]# useradd -r -g mysql mysql
[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql data
[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf
[root@localhost mysql]# bin/mysqld_safe --user=mysql &
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# vim /etc/profile #修改系統的環境變量,使系統能夠方便的管理mysqld服務
[root@localhost mysql]# . /etc/profile #重讀該文件使其立刻生效
[root@localhost mysql]# echo $PATH #查看是否改變
[root@localhost mysql]# chkconfig --add mysqld #將該服務添加爲可管理
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# service mysqld start
[root@localhost mysql]# chkconfig --list |grep mysql
[root@localhost mysql]# cd /usr/include/
[root@localhost include]# ln -s /usr/local/mysql/include mysql #創建頭文件鏈接
[root@localhost mysql]# vim /etc/ld.so.conf.d/mysqld.conf #生成該庫文件並進行配置
[root@localhost mysql]# ldconfig -v |grep mysql
(3)安裝php
[root@localhost ~]# tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src
[root@localhost ~]# cd /usr/local/src/php-5.3.7/
[root@localhost php-5.3.7]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --enable-fpm --with-libevent-dir=/usr/local --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-iconv-dir=/usr/local
[root@localhost php-5.3.7]# make
[root@localhost php-5.3.7]# make install
[root@cyz php-5.3.7]# vim /etc/nginx/nginx.conf
[root@cyz /]# mkdir -pv /www/html/
[root@cyz /]# cd /www/html/
[root@cyz html]# vim index.php
[root@cyz php-5.3.7]# cd /usr/local/php/etc/
[root@cyz etc]# mv php-fpm.conf.default php-fpm.conf
[root@cyz etc]# vim php-fpm.conf
166 pm.start_servers = 20
170 pm.min_spare_servers = 5
175 pm.max_spare_servers = 35
181 pm.max_requests = 500
[root@cyz etc]# cd /usr/local/php/sbin/
[root@cyz sbin]# ./php-fpm
[root@cyz php-5.3.7]# pkill -1 nginx #重啓nginx服務
下面測試以下php是否能夠使用:
說明:php已經可用
[root@cyz ~]# yum install php-mysql #安裝php與mysql連接器件
[root@cyz ~]# vim /www/html/index.php
[root@cyz ~]# service nginxd restart #本人已經執行了啓動腳本。
測試php與mysql的連接:
說明:php與mysql已經連接成功。