LNMP環境搭建

LNMP環境搭建 環境介紹: 系統版本:CentOS 5.6 i386(Linux localhost.localdomain 2.6.18-164.el5) 軟件版本:Mysql-5.0.83 Nginx-1.1.11 Php-5.2.17 代碼下載目錄:/tmp/srv 1、檢查系統環境(確保已經安裝以下環境) [root@localhost ~]# rpm -q make gcc gcc-c++ 2、安裝mysql [root@localhost srv]# tar -zxvf mysql-5.0.83.tar.gz [root@localhost srv]# cd mysql-5.0.83 [root@localhost mysql-5.0.83]# groupadd mysql [root@localhost mysql-5.0.83]# useradd -r -g mysql mysql [root@localhost mysql-5.0.83]# ./configure --prefix=/usr/local/mysql *編譯報錯error: No curses/termcap library found *掛載系統光盤,安裝ncurses-devel軟件包,問題解決 [root@localhost mysql-5.0.83]# make [root@localhost mysql-5.0.83]# make install [root@localhost mysql-5.0.83]# /usr/local/mysql/bin/mysql_install_db --user=mysql [root@localhost mysql-5.0.83]# chown -R mysql /usr/local/mysql/var/ [root@localhost mysql-5.0.83]# /usr/local/mysql/bin/mysqld_safe & [root@localhost mysql-5.0.83]# /usr/local/mysql/bin/mysqladmin -u root password 123456 [root@localhost mysql-5.0.83]# cp support-files/my-medium.cnf /etc/my.cnf [root@localhost mysql-5.0.83]# cp support-files/mysql.server /etc/init.d/mysqld [root@localhost mysql-5.0.83]# chmod +x /etc/init.d/mysqld [root@localhost mysql-5.0.83]# chkconfig --add mysqld [root@localhost mysql-5.0.83]# chkconfig mysqld on 3、安裝Nginx [root@localhost srv]# tar -zxvf nginx-1.1.11.tar.gz [root@localhost srv]# cd nginx-1.1.11 [root@localhost nginx-1.1.11]# ./configure --prefix=/usr/local/nginx *編譯報錯./configure: error: the HTTP rewrite module requires the PCRE library. *安裝pcre-devel軟件包# yum install pcre-devel zlib-devel -y問題解決 [root@localhost nginx-1.1.11]# make [root@localhost nginx-1.1.11]# make install [root@localhost nginx-1.1.11]# echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local *[root@localhost nginx-1.1.11]# /usr/local/nginx/sbin/nginx -s reload Nginx重啓 *[root@localhost nginx-1.1.11]# /usr/local/nginx/sbin/nginx -t 查看Nginx配置是否正確 4、安裝libpng [root@localhost srv]# tar -zxvf libpng-1.5.2.tar.gz [root@localhost srv]# cd libpng-1.5.2 [root@localhost libpng-1.5.2]# ./configure --prefix=/usr/local/png/ --enable-shared [root@localhost libpng-1.5.2]# make [root@localhost libpng-1.5.2]# make install 5、安裝jpeg [root@localhost srv]# tar -zxvf jpegsrc.v8c.tar.gz [root@localhost srv]# cd ./jpeg-8c/ [root@localhost jpeg-8c]# mkdir /usr/local/jpeg/ [root@localhost jpeg-8c]# mkdir /usr/local/jpeg/bin/ [root@localhost jpeg-8c]# mkdir /usr/local/jpeg/lib/ [root@localhost jpeg-8c]# mkdir /usr/local/jpeg/include/ [root@localhost jpeg-8c]# mkdir -p /usr/local/jpeg/man/man1 [root@localhost jpeg-8c]# ./configure --prefix=/usr/local/jpeg/ --enable-shared --enable-static [root@localhost jpeg-8c]# make [root@localhost jpeg-8c]# make install 6、安裝freetype [root@localhost srv]# tar -zxvf freetype-2.4.4.tar.gz [root@localhost freetype-2.4.4]# cd freetype-2.4.4 [root@localhost freetype-2.4.4]# ./configure --prefix=/usr/local/freetype/ --enable-shared [root@localhost freetype-2.4.4]# make [root@localhost freetype-2.4.4]# make install 7、安裝autoconf [root@localhost srv]# tar -zxvf autoconf-2.68.tar.gz [root@localhost srv]# cd autoconf-2.68 [root@localhost autoconf-2.68]# ./configure [root@localhost autoconf-2.68]# make [root@localhost autoconf-2.68]# make install 8、安裝gd [root@localhost srv]# tar -zxvf gd-2.0.35.tar.gz [root@localhost srv]# cd gd-2.0.35 *在make的時候一直報gd-png錯誤,執行下面cp命令解決問題 [root@localhost gd-2.0.35]# cp /usr/local/libpng/include/png.h ./ [root@localhost gd-2.0.35]# cp /usr/local/libpng/include/pngconf.h ./ [root@localhost gd-2.0.35]# cp /usr/local/libpng/include/libpng15/pnglibconf.h ./ [root@localhost gd-2.0.35]# ./configure --prefix=/usr/local/gd/ --with-jpeg=/usr/local/jpeg/ --with-png=/usr/local/png/ --with-freetype=/usr/local/freetype/ [root@localhost gd-2.0.35]# make [root@localhost gd-2.0.35]# make install 9、安裝php 默認情況下Nginx和PHP是沒有聯繫的。在之前很多朋友都搭建過Apache+PHP,Apache+PHP編譯後生成的是模塊文件, 而Nginx+PHP需要PHP生成可執行文件纔可以,所以要利用fastcgi技術來實現N ginx與PHP的整合,這個只要我們安裝是啓用FastCGI即可。 此次我們安裝PHP不僅使用了FastCGI,而且還使用了PHP-FPM這麼一個東東。 PHP-FPM說白了是一個管理FastCGI的一個管理器,它作爲PHP的插件純在,在安裝PHP要想使用PHP-FPM時就需要把PHP-FPM以補丁的形式安裝到PHP中; 而且PHP要與PHP-FPM版本一致,這是必須的,切記! [root@localhost srv]# tar -zxvf php-5.2.17.tar.gz *PHP-FPM源碼包下載地址http://php-fpm.org/downloads/ [root@localhost srv]# gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1 [root@localhost php-5.2.17]# cd php-5.2.17 [root@localhost php-5.2.17]# ./configure --prefix=/usr/local/php --with-gd=/usr/local/gd/ --with-jpeg-dir=/usr/local/jpeg/ --with-png-dir=/usr/local/png/ --with-freetype-dir=/usr/local/freetype/ --with-mysql=/usr/local/mysql/ --enable-fastcgi --enable-fpm *注:Nginx+PHP整合,在安裝時必須啓用--enable-fastcgi和--enable-fpm *編譯報錯configure: error: XML configuration could not be found;#yum install -y libxml2-devel解決問題 *make報錯(錯誤信息如下) make: *** [sapi/cgi/php-cgi] 錯誤 1,下載libiconv軟件包,問題解決,下載地址http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz *libiconv庫爲需要做轉換的應用提供了一個iconv()的函數,以實現一個字符編碼到另一個字符編碼的轉換。 先安裝libiconv [root@localhost srv]# tar -zxvf libiconv-1.14.tar.gz [root@localhost srv]# cd libiconv-1.14 [root@localhost libiconv-1.14]# ./configure --prefix=/usr/local/ [root@localhost libiconv-1.14]# make [root@localhost libiconv-1.14]# make install 再編譯安裝php的時候帶上-–with-iconv=/usr/local/即可 [root@localhost php-5.2.17]# cd php-5.2.17 [root@localhost php-5.2.17]# ./configure --prefix=/usr/local/php --with-gd=/usr/local/gd/ --with-jpeg-dir=/usr/local/jpeg/ --with-png-dir=/usr/local/png/ --with-freetype-dir=/usr/local/freetype/ --with-mysql=/usr/local/mysql/ --enable-fastcgi --enable-fpm --with-iconv=/usr/local/ [root@localhost php-5.2.17]# make [root@localhost php-5.2.17]# make install [root@localhost php-5.2.17]# cp php.ini-dist /usr/local/php/etc/php.ini 10、啓動PHP-FPM [root@localhost php-5.2.17]# vim /usr/local/php/etc/php-fpm.conf [root@localhost php-5.2.17]# /usr/local/php/sbin/php-fpm start [root@localhost php-5.2.17]# echo "/usr/local/php/sbin/php-fpm start" >> /etc/rc.local 11、整合Nginx和Php [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name; include fastcgi_params; } [root@localhost ~]# vim /usr/local/php/etc/php-fpm.conf(去掉註釋) 62 Unix user of processes 63 <value name="user">nobody</value> 64 65 Unix group of processes 66 <value name="group">nobody</value> 12、測試 啓動nginx和php [root@localhost]#/usr/local/nginx/sbin/nginx [root@localhost]#/usr/local/php/sbin/php-fpm start 然後創建PHP測試程序 [root@localhost]#vim /usr/local/nginx/html/index.php,寫入如下內容 <?php phpinfo(); ?> 打開瀏覽器,輸入訪問地址,如果出現php的版本介紹就說明整合成功!!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章