目錄表

Nginx網頁伺服器安裝

通常Linux環境下的網頁伺服器,預設是Apache為主。為了追求高效能及穩定高情況之下,Apache伺服器執行的品質就不是很好,因此俄羅斯的一個軟體公司就開發一款名為 Nginx網頁伺服器。本篇主要介紹LNMP(Linux+Nginx+Mysql+PHP)安裝,以編譯方式來安裝Nginx、MySQL及PHP這三套軟體。

安裝前需的軟體工具

  1. 增加新Repos (ex:HowtoForge)
  2. 下載Gcc,gcc-c++(編譯工具),libjpeg,libjpeg-devel…等等
1
sudo bash
LANG=C
yum  install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

MySQL安裝

rpm -qa|egrep '(bison|cmake)'
[root@yao88 src]#tar zxvf mysql-5.5.16.tar.gz
[root@yao88 mysql-5.5.16]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
[root@yao88 mysql-5.5.16]#make
[root@yao88 mysql-5.5.16]#make install
#groupadd mysql
#useradd -s /bin/nologin -r -g mysql mysql
#cd /usr/local/mysql
#chown -R mysql .
#chgrp -R mysql .
#/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
(此資料庫會建立在 /var/lib/mysql)
#cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
#cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#ln -s /usr/local/mysql/bin/mysql /bin/mysql
#/etc/init.d/mysqld start

PHP安裝(包含FastCGI)

  1. 安裝php前,所需套件

安裝php前 所需套件

# cd libiconv-1.13.1/
#./configure
#make
#make install
#cd libmcrypt-2.5.8/
#./configure
#make
#make install
#ldconfig
#cd libltdl/
#./configure --enable-ltdl-install
#make
#make install
#cd mhash-0.9.9.9/
#./configure
#make
#make install
連結libmcrypt及mhash相關函數到 /usr/lib64/ (本文實作於64位元;若是32位元是在/usr/lib/)
#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
#ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

#cd mcrypt-2.6.8
#./configure
#make
#make install
#ln -s /usr/local/mysql/lib/libmysqlclient.a /usr/lib64/mysql/libmysqlclient.a
#ln -s /usr/local/mysql/lib/libmysqlclient_r.a  /usr/lib64/mysql/libmysqlclient_r.a 
#ln -s /usr/local/mysql/lib/libmysqlclient_r.so /usr/lib64/mysql/libmysqlclient_r.so
#ln -s /usr/local/mysql/lib/libmysqlclient_r.so.18 /usr/lib64/mysql/libmysqlclient_r.so.18
#ln -s /usr/local/mysql/lib/libmysqlclient_r.so.18.0.0 /usr/lib64/mysql/libmysqlclient_r.so.18.0.0
#ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib64/mysql/libmysqlclient.so
#ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/mysql/libmysqlclient.so.18
#ln -s /usr/local/mysql/lib/libmysqlclient.so.18.0.0 /usr/lib64/mysql/libmysqlclient.so.18.0.0
#ln -s /usr/local/mysql/lib/libmysqld.a /usr/lib64/mysql/libmysqld.a
#ln -s /usr/local/mysql/lib/libmysqlservices.a /usr/lib64/mysql/libmysqlservices.a
#ln -s /usr/local/mysql/lib/plugin/ /usr/lib64/mysql/plugin
php5.3.3版本之後,php-fpm模組已經包含在原始碼中了,不必透過patch再執行編譯。
#cd php-5.3.8
#./configure --prefix=/usr/local/php \ (指php安裝目錄)
-> --with-config-file-path=/usr/local/php/etc \  (指php設定檔安裝位置)
-> --with-mysql=/usr/local/mysql \  (指mysql安裝的地方)
-> --with-mysqli=/usr/local/mysql/bin/mysql_config   \  (指 mysqli 資料庫連線執行檔)
-> --with-iconv-dir=/usr/local  \ (打開文字編碼自符集間的轉換)
-> --with-freetype-dir  \  (打開對freetype字體庫的支持)
-> --with-jpeg-dir \     (打開jpeg圖片的支持)
-> --with-png-dir \    (打開png圖片的支持)
-> --with-zlib   \     (zlib庫的支持)
-> -with-curl  \   (curl瀏覽工具的支持)
-> --with-curlwrappers \(curl工具打開url流)
-> --with-libXML-dir  \ (xml函式庫支持)
-> --enable-xml      \  (允許xml函式庫)
-> --disable-rpath \  ( 關閉額外的運行庫文件)
-> --enable-safe-mode \ (打開安全模式)
->  --enable-bcmath   \  (圖片大小調整)
->  --enable-shmop  \
->  --enable-sysvsem \
->  --enable-fpm    \  (允許php-fpm)
->  --enable-fastcgi \ (支持fastcgi方式啟動PHP)
->  --enable-force-cgi-redirect \
->  --enable-inline-optimization \
->  --enable-mbregex  \
->  --enable-mbstring \ (多字節,字符串的支持)
->  --with-mcrypt   \  (mcrypt 演算法)
->  --with-gd   \      (gd圖形)
->   --enable-gd-native-ttf \ (支持TrueType字符串函數庫)
->  --with-openssl \ (安全 ssl)
->  --with-mhash  \ (mhash 演算法)
->  --enable-pcntl \ (連結mysql用到的)
->  --enable-sockets \(打開復口支持)
->  --with-ldap \ (ldap支持)
-> --with-ldap-sasl --with-xmlrpc  --enable-zip --enable-soap
#make 
#make install

Nginx安裝

參考資料