LNMP編譯安裝PHP以及LNMP配置和驗證執行個體分享

來源:互聯網
上載者:User


編譯安裝的環境

主機為172.25.23.6 hostname:server6.com
核心版本:2.6.32-431.el6.x86_64
使用軟體包為php-5.6.20.tar.bz2
額外的軟體包:
libmcrypt-2.5.8-9.el6.x86_64.rpm
libmcrypt-devel-2.5.8-9.el6.x86_64.rpm

  • 執行./configure中的錯誤

  • 錯誤:

configure: error: xml2-config not found. Please check your libxml2 installation.
  • 解決:

[root@server6 php-5.6.20]# yum install -y libxml2-devel
  • 錯誤:

configure: error: Please reinstall the libcurl distribution -    easy.h should be in <curl-dir>/include/curl/
  • 解決

[root@server6 php-5.6.20]# yum install curl-devel -y
  • 錯誤:

If configure fails try --with-vpx-dir=<DIR>configure: error: jpeglib.h not found.
  • 解決

[root@server6 php-5.6.20]# yum install -y libjpeg-turbo-devel
  • 錯誤:

If configure fails try --with-vpx-dir=<DIR>checking for jpeg_read_header in -ljpeg... yesconfigure: error: png.h not found.
  • 解決

[root@server6 php-5.6.20]# yum install libpng-devel -y
  • 錯誤:

If configure fails try --with-xpm-dir=<DIR>configure: error: freetype-config not found.
  • 解決

[root@server6 php-5.6.20]# yum install freetype-devel-2.3.11-14.el6_3.1.x86_64 -y
  • 錯誤:

configure: error: Unable to locate gmp.h
  • 解決

[root@server6 php-5.6.20]# yum install gmp-devel-4.3.1-7.el6_2.2.x86_64 -y
  • 錯誤:

configure: error: mcrypt.h not found. Please reinstall libmcrypt.
  • 解決

libmcrypt-2.5.8-9.el6.x86_64.rpmlibmcrypt-devel-2.5.8-9.el6.x86_64.rpm[root@server6 php-5.6.20]# yum install ~/libmcrypt-* -y
  • 錯誤:

configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation.
  • 解決

[root@server6 php-5.6.20]# yum install net-snmp-devel -y
  • 進行編譯

[root@server6 php-5.6.20]# ./configure --prefix=/usr/local/lnmp/php/ \> --with-config-file-path=/usr/local/lnmp/php/etc \> --with-openssl \> --with-snmp \> --with-gd \> --with-zlib \> --with-curl \> --with-libxml-dir \> --with-png-dir \> --with-jpeg-dir \> --with-freetype-dir \> --with-gettext \> --without-pear \> --with-gmp \> --enable-inline-optimization \> --enable-soap \> --enable-ftp \> --enable-sockets> --enable-mbstring> --with-mysql> --with-mysqli> --with-pdo-mysql> --enable-mysqlnd> --enable-fpm> --with-fpm-user=nginx> --with-fpm-group=nginx> --with-mcrypt > --with-mhash
  • 執行完成需要出現

  • 之後執行make命令

[root@server6 php-5.6.20]# make No log handling enabled - turning on stderr loggingCreated directory: /var/lib/net-snmp/mib_indexesGenerating phar.pharPEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.clicommand.incdirectorytreeiterator.incinvertedregexiterator.incdirectorygraphiterator.incpharcommand.incphar.inc
  • 確保結果爭取需要出現

  • 之後執行make install

[root@server6 php-5.6.20]# make installInstalling shared extensions:     /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/Installing PHP CLI binary:        /usr/local/lnmp/php/bin/Installing PHP CLI man page:      /usr/local/lnmp/php/php/man/man1/Installing PHP FPM binary:        /usr/local/lnmp/php/sbin/
  • 需要出現

  • 對於設定檔進行修改

[root@server6 php-5.6.20]# cd /usr/local/lnmp/php/[root@server6 php]# cd etc/[root@server6 etc]# cp php-fpm.conf.default php-fpm.conf[[root@server6 etc]# cp ~/php-5.6.20/php.ini-production /usr/local/lnmp/php/etc/php.ini
  • 修改,前面的數值表示行號

[root@server6 etc]# vim php.ini925  date.timezone = Asia/Shanghai1001 pdo_mysql.default_socket= /usr/local/lnmp/mysql/data/mysql.sock1150 mysql.default_socket = /usr/local/lnmp/mysql/data/mysql.sock1209 mysqli.default_socket = /usr/local/lnmp/mysql/data/mysql.sock[root@server6 etc]# vim php-fpm.conf25 pid = run/php-fpm.pid
  • 複製啟動指令碼

[root@server6 php-5.6.20]# cd sapi/fpm/[root@server6 fpm]# pwd/root/php-5.6.20/sapi/fpm[root@server6 fpm]# cp init.d.php-fpm /etc/init.d/php-fpm[root@server6 fpm]# chmod +x /etc/init.d/php-fpm
  • 啟動服務並且查看狀態

[root@server6 fpm]# /etc/init.d/php-fpm startStarting php-fpm  done

  • 修改Nginx的設定檔

[root@server6 fpm]# cd /usr/local/lnmp/nginx/conf/[root@server6 conf]# vim nginx.conf    location ~ \.php$ {            root           html;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;            include        fastcgi.conf;        }
  • 測試修改後設定檔的正確性

[root@server6 conf]# nginx -tnginx: the configuration file /usr/local/lnmp/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/lnmp/nginx/conf/nginx.conf test is successful[root@server6 conf]# nginx


* 查看你服務是否正常啟動

* 為php提供預設的頁面

[root@server6 nginx]# cd html/[root@server6 html]# ls50x.html  index.html[root@server6 html]# vim index.php<?phpphpinfo()?>
  • 通過瀏覽器來訪問測試

  • 安裝Discuz論壇程式

[root@server6 ~]# unzip Discuz_X3.2_SC_UTF8.zip -d /usr/local/lnmp/nginx/html/[root@server6 ~]# cd /usr/local/lnmp/nginx/html/[root@server6 html]# mv upload/ bbs[root@server6 html]# cd bbs/[root@server6 bbs]# chmod 777 config/ data/ uc_client/ uc_server/ -R
  • 通過瀏覽器進行配置

  • Discuz的歡迎頁面

  • 需要確保這個頁面沒有紅色的x出現

  • 資料庫連接成功的安裝頁面

    • 通過下面這個串連訪問

    • 去查看資料庫多出來的資訊

    • ultraxDiscuz建立的資料庫;

    • 資料庫裡面表的資訊

  • 對於Nginx以及Mysql的編譯安裝

http://blog.csdn.net/qq_36294875/article/details/79352522 [MySQL5.7.11編譯安裝]
http://blog.csdn.net/qq_36294875/article/details/79344943 [Nginx的編譯安裝以及簡單的配置]

  • 編譯安裝的環境

主機為172.25.23.6 hostname:server6.com
核心版本:2.6.32-431.el6.x86_64
使用軟體包為php-5.6.20.tar.bz2
額外的軟體包:
libmcrypt-2.5.8-9.el6.x86_64.rpm
libmcrypt-devel-2.5.8-9.el6.x86_64.rpm

  • 執行./configure中的錯誤

  • 錯誤:

configure: error: xml2-config not found. Please check your libxml2 installation.
  • 解決:

[root@server6 php-5.6.20]# yum install -y libxml2-devel
  • 錯誤:

configure: error: Please reinstall the libcurl distribution -    easy.h should be in <curl-dir>/include/curl/
  • 解決

[root@server6 php-5.6.20]# yum install curl-devel -y
  • 錯誤:

If configure fails try --with-vpx-dir=<DIR>configure: error: jpeglib.h not found.
  • 解決

[root@server6 php-5.6.20]# yum install -y libjpeg-turbo-devel
  • 錯誤:

If configure fails try --with-vpx-dir=<DIR>checking for jpeg_read_header in -ljpeg... yesconfigure: error: png.h not found.
  • 解決

[root@server6 php-5.6.20]# yum install libpng-devel -y
  • 錯誤:

If configure fails try --with-xpm-dir=<DIR>configure: error: freetype-config not found.
  • 解決

[root@server6 php-5.6.20]# yum install freetype-devel-2.3.11-14.el6_3.1.x86_64 -y
  • 錯誤:

configure: error: Unable to locate gmp.h
  • 解決

[root@server6 php-5.6.20]# yum install gmp-devel-4.3.1-7.el6_2.2.x86_64 -y
  • 錯誤:

configure: error: mcrypt.h not found. Please reinstall libmcrypt.
  • 解決

libmcrypt-2.5.8-9.el6.x86_64.rpmlibmcrypt-devel-2.5.8-9.el6.x86_64.rpm[root@server6 php-5.6.20]# yum install ~/libmcrypt-* -y
  • 錯誤:

configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation.
  • 解決

[root@server6 php-5.6.20]# yum install net-snmp-devel -y
  • 進行編譯

[root@server6 php-5.6.20]# ./configure --prefix=/usr/local/lnmp/php/ \> --with-config-file-path=/usr/local/lnmp/php/etc \> --with-openssl \> --with-snmp \> --with-gd \> --with-zlib \> --with-curl \> --with-libxml-dir \> --with-png-dir \> --with-jpeg-dir \> --with-freetype-dir \> --with-gettext \> --without-pear \> --with-gmp \> --enable-inline-optimization \> --enable-soap \> --enable-ftp \> --enable-sockets> --enable-mbstring> --with-mysql> --with-mysqli> --with-pdo-mysql> --enable-mysqlnd> --enable-fpm> --with-fpm-user=nginx> --with-fpm-group=nginx> --with-mcrypt > --with-mhash
  • 執行完成需要出現

  • 之後執行make命令

[root@server6 php-5.6.20]# make No log handling enabled - turning on stderr loggingCreated directory: /var/lib/net-snmp/mib_indexesGenerating phar.pharPEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.clicommand.incdirectorytreeiterator.incinvertedregexiterator.incdirectorygraphiterator.incpharcommand.incphar.inc
  • 確保結果爭取需要出現

  • 之後執行make install

[root@server6 php-5.6.20]# make installInstalling shared extensions:     /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/Installing PHP CLI binary:        /usr/local/lnmp/php/bin/Installing PHP CLI man page:      /usr/local/lnmp/php/php/man/man1/Installing PHP FPM binary:        /usr/local/lnmp/php/sbin/
  • 需要出現

  • 對於設定檔進行修改

[root@server6 php-5.6.20]# cd /usr/local/lnmp/php/[root@server6 php]# cd etc/[root@server6 etc]# cp php-fpm.conf.default php-fpm.conf[[root@server6 etc]# cp ~/php-5.6.20/php.ini-production /usr/local/lnmp/php/etc/php.ini
  • 修改,前面的數值表示行號

[root@server6 etc]# vim php.ini925  date.timezone = Asia/Shanghai1001 pdo_mysql.default_socket= /usr/local/lnmp/mysql/data/mysql.sock1150 mysql.default_socket = /usr/local/lnmp/mysql/data/mysql.sock1209 mysqli.default_socket = /usr/local/lnmp/mysql/data/mysql.sock[root@server6 etc]# vim php-fpm.conf25 pid = run/php-fpm.pid
  • 複製啟動指令碼

[root@server6 php-5.6.20]# cd sapi/fpm/[root@server6 fpm]# pwd/root/php-5.6.20/sapi/fpm[root@server6 fpm]# cp init.d.php-fpm /etc/init.d/php-fpm[root@server6 fpm]# chmod +x /etc/init.d/php-fpm
  • 啟動服務並且查看狀態

[root@server6 fpm]# /etc/init.d/php-fpm startStarting php-fpm  done

  • 修改Nginx的設定檔

[root@server6 fpm]# cd /usr/local/lnmp/nginx/conf/[root@server6 conf]# vim nginx.conf    location ~ \.php$ {            root           html;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;            include        fastcgi.conf;        }
  • 測試修改後設定檔的正確性

[root@server6 conf]# nginx -tnginx: the configuration file /usr/local/lnmp/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/lnmp/nginx/conf/nginx.conf test is successful[root@server6 conf]# nginx


* 查看你服務是否正常啟動

* 為php提供預設的頁面

[root@server6 nginx]# cd html/[root@server6 html]# ls50x.html  index.html[root@server6 html]# vim index.php<?phpphpinfo()?>
  • 通過瀏覽器來訪問測試

  • 安裝Discuz論壇程式

[root@server6 ~]# unzip Discuz_X3.2_SC_UTF8.zip -d /usr/local/lnmp/nginx/html/[root@server6 ~]# cd /usr/local/lnmp/nginx/html/[root@server6 html]# mv upload/ bbs[root@server6 html]# cd bbs/[root@server6 bbs]# chmod 777 config/ data/ uc_client/ uc_server/ -R
  • 通過瀏覽器進行配置

  • Discuz的歡迎頁面

  • 需要確保這個頁面沒有紅色的x出現

  • 資料庫連接成功的安裝頁面

    • 通過下面這個串連訪問

    • 去查看資料庫多出來的資訊

    • ultraxDiscuz建立的資料庫;

    • 資料庫裡面表的資訊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.