天天看點

lnmp

該文檔為制作lnmp一鍵安裝腳本而寫,指令比較少注釋,基本複制粘貼一步到底,也是為友善大家制作一鍵安裝腳本。

系統環境:centos5.8 64位

1、nginx安裝

1.1 安裝nginx所需的pcre庫

 pcre全稱(perl compatibleregular expressions),安裝pcre庫是為了使nginx支援http rewrite子產品

cd /usr/local/src

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.gz

tar zxf pcre-8.30.tar.gz 

cd pcre-8.30

./configure

make && make install

1.2 安裝nginx

wget http://nginx.org/download/nginx-1.2.9.tar.gz

useradd nginx -s /sbin/nologin -m

tar zxf nginx-1.2.9.tar.gz

cd nginx-1.2.9

./configure --user=nginx --group=nginx --prefix=/application/nginx-1.2.9 --with-http_stub_status_module --with-http_ssl_module

ln -s /application/nginx-1.2.9 /application/nginx

ll /application/nginx

echo /usr/local/lib >>/etc/ld.so.conf

ldconfig

/application/nginx/sbin/nginx -t 

#檢查文法

/application/nginx/sbin/nginx 

#啟動nginx

1.3 測試nginx

lnmp

2、mysql安裝

2.1 安裝mysql軟體

wget http://mysql.ntu.edu.tw/downloads/mysql-5.1/mysql-5.1.68.tar.gz

user add -s /sbin/nologin -m mysql

tar zxf mysql-5.1.68.tar.gz 

cd mysql-5.1.68

./configure \

--prefix=/application/mysql5.1.68 \

--with-unix-socket-path=/application/mysql5.1.68/tmp/mysql.sock \

--localstatedir=/application/mysql5.1.68/data \

--enable-assembler \

--enable-thread-safe-client \

--with-mysqld-user=mysql \

--with-big-tables \

--without-debug \

--with-pthread \

--with-extra-charsets=complex \

--with-readline \

--with-ssl \

--with-embedded-server \

--enable-local-infile \

--with-mysqld-ldflags=-all-static \

--with-client-ldflags=-all-static

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

#mysql配置檔案,預設存放在support-files路徑下,但mysql調用的配置檔案為/etc/my.cnf

ln -s /application/mysql5.1.68 /application/mysql 

2.2 初始化mysql資料庫

mkdir -p /application/mysql/data

chown -r mysql /application/mysql

/application/mysql/bin/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql 

#初始化mysql資料檔案,--basedir為資料庫目錄 --datadir為建立資料庫和表的存放地

2.3 啟動mysql

方法一:

cp support-files/mysql.server /application/mysql/bin/

chmod 700 /application/mysql/bin/mysql.server

/application/mysql/bin/mysql.server start

/application/mysql/bin/mysql.server stop

方法二:

/application/mysql/bin/mysqld_safe --user=mysql &

方法三:

cp support-files/mysql.server /etc/init.d/mysql 

chmod 700 /etc/init.d/mysql

/etc/init.d/mysql start

2.4 mysql測試

mysqladmin -u root password'123456' 

mysql -uroot -p123456 -e "select version();"

3、php安裝

首先需安裝php相應的庫檔案

3.1 檢查php所需lib庫

rpm -qa zlib libxml libjpeg freetype libpnggd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel

如果安裝作業系統時未選擇x software development軟體包,則可能沒有上述lib庫,可以通過下面指令補裝

yum groupinstall "x software development"

3.2 安裝libiconv庫

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

tar -zxf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local/libiconv

make

make install

cd ../

3.3 安裝libmcrypt庫

wget "http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&big_mirror=0"

tar zxf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

sleep 2 

/sbin/ldconfig

cd libltdl/

./configure --enable-ltdl-install

cd ../../

3.4 安裝mhash加密擴充庫

wget "http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?modtime=1175740843&big_mirror=0"

tar zxf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9/

sleep 2

這兒為32位系統的庫檔案連結

rm -f /usr/lib/libmcrypt.*

rm -f /usr/lib/libmhash*

ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la

ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so

ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4

ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8

ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a

ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la

ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so

ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2

ln -s /usr/local/lib/libmhash.so.2.0.1/usr/lib/libmhash.so.2.0.1

ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

這兒為64位系統的庫檔案連結

rm -f /usr/lib64/libmcrypt.*

rm -f /usr/lib64/libmhash*

ln -s /usr/local/lib/libmcrypt.la /usr/lib64/libmcrypt.la

ln -s /usr/local/lib/libmcrypt.so /usr/lib64/libmcrypt.so

ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4

ln -s/usr/local/lib/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8

ln -s /usr/local/lib/libmhash.a /usr/lib64/libmhash.a

ln -s /usr/local/lib/libmhash.la /usr/lib64/libmhash.la

ln -s /usr/local/lib/libmhash.so /usr/lib64/libmhash.so

ln -s /usr/local/lib/libmhash.so.2 /usr/lib64/libmhash.so.2

ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1

3.5 安裝mcrypt加密擴充庫

wget "http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?modtime=1194463373&big_mirror=0"

tar zxf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8/

3.6 安裝php

 php5.2版本需要安裝php-fpm更新檔

 php5.3以後版本,源碼中已經内嵌了 php-fpm,不需要安裝更新檔包,隻需要在configure的時候添加編譯參數即可,

wget http://cn2.php.net/get/php-5.3.27.tar.gz/from/this/mirror

tar zxf php-5.3.27.tar.gz 

cd php-5.3.27

--prefix=/application/php5.3.27 \

--with-mysql=/application/mysql \

--with-iconv-dir=/usr/local/libiconv \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-libxml-dir=/usr \

--enable-xml \

--disable-rpath \

--enable-safa-mode \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--with-curl \

--with-curlwrappers \

--enable-mbregex \

--enable-fpm \

--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 \

--enable-short-tags \

--enable-zend-multibyte \

--enable-static \

--with-xsl \

--with-fpm-user=nginx \

--with-fpm-group=nginx \

--with-libevent-dir \

--enable-ftp 

ln -s /application/php5.3.27/ /application/php 

/bin/cp /usr/local/src/php-5.3.27/php.ini-production /application/php5.3.27/lib/php.ini

#把預設生産配置檔案做為php配置檔案

cp /application/php/etc/php-fpm.conf.default /application/php/etc/php-fpm.conf

#把預設php-fpm.conf.default程序管理檔案改名為php/etc/php-fpm.conf

/application/php/sbin/php-fpm -t 

#校驗文法

/application/php/sbin/php-fpm 

 #啟動php

4、nginx關聯php

4.1 修改nginx相關配置

修改nginx配置(該檔案為nginx預設配置檔案,未修改過),在47行位置,插入下列内容

 35 server {

 36 listen 80;

 37 server_name localhost;

 38 

 39 #charset koi8-r;

 40 

 41 #access_log logs/host.access.log main;

 42 

 43 location / {

 44 root html;

 45 index index.html index.htm;

 46 }

 47  location~ \.(php|php5)?$ {

 48  fastcgi_pass 127.0.0.1:9000;

 49  fastcgi_index index.php; 

 50  include fastcgi.conf;

 51  }

站點目錄為預設路徑,在站點目錄添加php配置

[root@yangrongnginx]# cat >/application/nginx/html/index.php <<eof

 <?php

 phpinfo();

 ?>

 eof

#上面為php長标簽格式,短标簽格式為(短标簽預設不打開):

#<?

#phpinfo();

#?>

/application/nginx/sbin/nginx -t

/application/nginx/sbin/nginx -s reload

4.2 測試php連接配接

在浏覽器輸入ip/index.php

lnmp

5、nginx關聯mysql

5.1連接配接資料庫配置

[root@yangrongnginx]# cat >/application/nginx/html/mysql.php <<eof

 //$link_id=mysql_connect('主機名','使用者','密碼');

 $link_id=mysql_connect('127.0.0.1','root','123456') or mysql_error();

 //$link_id=mysql_connect('127.0.0.1','test','');

 if($link_id){

 echo "mysql connect issuccessful!";

 }else{

 echo mysql_error();

 }

 //是php單行注釋

 /* 這是php多行注釋*/

注意連接配接資料庫的使用者名和密碼是否正确

5.2 測試

 在浏覽器輸入ip/mysql.php

lnmp

本文出自 “楊雲” 部落格,請務必保留此出處http://yangrong.blog.51cto.com/6945369/1297922

繼續閱讀