Centos 6.6 下 nginx +php mysql + phpMyadmin 安裝部署

LNMP架構介紹:php

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一組經常使用來搭建動態網站或者服務器的開源軟件,自己都是各自獨立的程序,可是由於常被放在一塊兒使用,擁有了愈來愈高的兼容度,共同組成了一個強大的Web應用程序平臺。隨着開源潮流的蓬勃發展,開放源代碼的LAMP已經與J2EE和.Net商業軟件造成三足鼎立之勢,而且該軟件開發的項目在軟件方面的投資成本較低,所以受到整個IT界的關注。從網站的流量上來講,70%以上的訪問流量是LAMP來提供的。

1、Nginx簡介:html

Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器,在高鏈接併發的狀況下Nginx 是 Apache 服務器不錯的替代品.其特色是佔有內存少,併發能力強,事實上nginx的併發能力確實在同類型的網頁服務器中表現較好.目前中國大陸使用nginx網站用戶有:新浪、網易、 騰訊,另外知名的微網誌Plurk也使用nginx。

  *Nginx 做爲 負載均衡 服務器:*

Nginx 既能夠在內部直接支持 Rails 和 PHP 程序對外進行服務,也能夠支持做爲 HTTP 代理服務器對外進行服務。 Nginx 採用 C 進行編寫, 不管是系統資源開銷仍是 CPU 使用效率都比 Perlbal 要好不少。做爲郵件代理服務器: mysql

Nginx 同時也是一個很是優秀的郵件代理服務器(最先開發這個產品的目的之一也是做爲郵件代理服務器), Last.fm 描述了成功而且美妙的使用經驗。Nginx 是一個安裝很是簡單,配置文件很是簡潔(還可以支持perl語法), Bugs很是少的服務器: Nginx 啓動特別容易,而且幾乎能夠作到 7*24 不間斷運行,即便運行數個月也不須要從新啓動。 你還可以不間斷服務的狀況下進行軟件版本的升級。nginx

*2、Nginx 安裝*

模塊依賴性Nginx須要依賴下面3個包

1. gzip 模塊須要 zlib 庫 ( 下載: http://www.zlib.net/ )

2. rewrite 模塊須要 pcre 庫 ( 下載: http://www.pcre.org/ )

3. ssl 功能須要 openssl 庫 ( 下載: http://www.openssl.org/ )

    Nginx包下載: http://nginx.org/en/download.html

    依賴包安裝順序依次爲:openssl、zlib、pcre, 而後安裝Nginx包。

第一步: 下載安裝所需包sql

openssl-fips-2.0.2.tar.gz url: https://www.openssl.org/source/openssl-fips-2.0.16.tar.gz數據庫

zlib-1.2.7.tar.gz url: http://www.zlib.net/zlib-1.2.11.tar.gz編程

pcre-8.42.tar.gz url: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gzvim

nginx-1.2.6.tar.gz url: http://nginx.org/download/nginx-1.15.0.tar.gzapi

第二步:依次安裝openssl-fips-2.0.2.tar.gz, zlib-1.2.7.tar.gz, pcre-8.21.tar.gz, nginx-1.2.6.tar.gz安全

1.安裝openssl-fips-2.0.2.tar.gz

[root@localhost mrms]# tar -zxvf openssl-fips-2.0.2.tar.gz

[root@localhost mrms]# cd openssl-fips-2.0.2

[root@localhost openssl-fips-2.0.2]# ./config

[root@localhost openssl-fips-2.0.2]# make

[root@localhost openssl-fips-2.0.2]# make install

2.安裝zlib-1.2.7.tar.gz

[root@localhost mrms]# tar -zxvf zlib-1.2.7.tar.gz

[root@localhost mrms]# cd zlib-1.2.7

[root@localhost zlib-1.2.7]# ./configure

[root@localhost zlib-1.2.7]# make

[root@localhost zlib-1.2.7]# make install

3.安裝pcre-8.21.tar.gz

[root@localhost mrms]# tar -zxvf pcre-8.21.tar.gz

[root@localhost mrms]# cd pcre-8.21

[root@localhost pcre-8.21]# ./configure

[root@localhost pcre-8.21]# make

[root@localhost pcre-8.21]# make install

4.安裝 nginx-1.2.6.tar.gz

[root@localhost mrms]# tar -zxvf nginx-1.2.6.tar.gz

[root@localhost mrms]# cd nginx-1.2.6

[root@localhost nginx-1.2.6]# ./configure --with-pcre=../pcre-8.21 --with-zlib=../zlib-1.2.7 --with-openssl=../openssl-fips-2.0.2

[root@localhost nginx-1.2.6]# make

[root@localhost nginx-1.2.6]# make install

至此Nginx的安裝完成!

第三步:檢測是否安裝成功

[root@localhost nginx-1.2.6]# cd /usr/local/nginx/sbin

[root@localhost sbin]# ./nginx -t

啓動nginx

[root@localhost sbin]# ./nginx

查看端口

[root@localhost sbin]# netstat -anple | grep 80

##  安裝PHP

1、PHP簡介:
        腳本語言,網站建設,服務器端運行PHP定義:一種服務器端的 HTML 腳本/編程語言,是一種簡單的、面向對象的、解釋型的、健壯的、安全的、性能很是之高的、獨立於架構的、可移植的、動態的腳本語言。是一種普遍用於 Open Source(開放源代碼)的尤爲適合 Web 開發並能夠嵌入 HTML 的多用途腳本語言。它的語法接近 C,Java 和 Perl,並且容易學習。該語言讓 Web 開發人員快速的書寫動態生成的網頁。

2、安裝:

2.1 php下載鏈接:http://www.php.net/downloads.php
2.2 下載解壓
       3.1  wget http://cn2.php.net/get/php-7.2.6.tar.bz2/from/this/mirror 
       3.2 tar xf php-7.2.6.tar.bz2 
       3.3 cd php-7.2.6 
2.3 配置
#./configure --prefix=/usr/local/php \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysql \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip

注:./configure 過程當中會出現不少問題,根據報錯信息百度相關資料進行解決。這裏再也不說明,在後面的問題和解答段落列出部分問題和解決方式,僅供參考!

若是須要GD庫還要

./configure --prefix=/usr/local/php --with-mysql --enable-fpm--enable-opcache --with-freetype-dir --with-jpeg-dir --with-png-dir --with-gd --with-zlib --with-libxml-dir --enable-xml --disable-debug --enable-safe-mode --enable-mbstring

若是配置錯誤,須要安裝須要的模塊,直接yum一併安裝依賴庫

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel  

3、配置成功:

Centos 6.6 下 nginx +php mysql + phpMyadmin 安裝部署

出現上圖說明配置成功~

4、 make && make install

到此處則編譯完成!

5、後續工做

5.1 cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf
   5.2 拷貝php.ini文件

安裝目錄有2個文件:php.ini-development和php.ini-production

注意php.ini-production擁有較高的安全性設定,則適合上線當產品使用
cp php.ini-development /usr/local/php/lib/php.ini
或者
cp php.ini-production /usr/local/php/lib/php.ini
若是操做了這一步之後使用phpinfo()就會看到Loaded Configuration File:

Centos 6.6 下 nginx +php mysql + phpMyadmin 安裝部署

5.3 cd /usr/local/php/etc/php-fpm.d  ; cp www.conf.default www.conf

6、php-fpm啓動

cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm
   /etc/init.d/php-fpm 
   至此php環境搭建完成,php-fpm 進行也啓動完成。下一步要將 nginx + php 經過php-fpm進行整合,用於解釋php頁面。

7、Nginx + php 結合

編輯nginx.conf文件
    location ~ \.php$ {
    root html; 
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;
    }      #將 scripts 修改爲對應的發佈目錄便可,並在對應發佈目錄下面建立index.php文件

/usr/local/nginx/sbin/nginx  -t ;  /usr/local/nginx/sbin/nginx  -s reload

    重啓nginx ,進行測試 curl localhost/index.php -I

Mysql 數據庫安裝

參考連接: http://www.javashuo.com/article/p-eybjqely-k.html

phpMyadmin的安裝配置:
參考鏈接:https://blog.csdn.net/u014410695/article/details/72779324

問題和解決:

一、編譯安裝php遇到的問題和解決方法:
     https://www.cnblogs.com/z-ping/archive/2012/06/18/2553929.html
二、問題:在啓動php-fpm出現
     [root@localhost etc]# service php-fpm start
     Starting php-fpm [28-Nov-2016 17:13:23] WARNING: Nothing matches the include pattern ‘/usr/local/php/etc/php-fpm.d/*.conf’ from /usr/local/php/etc/php-fpm.conf at line 125.
      [28-Nov-2016 17:13:23] ERROR: No pool defined. at least one pool section must be specified in config file
    [28-Nov-2016 17:13:23] ERROR: failed to post process the configuration
      [28-Nov-2016 17:13:23] ERROR: FPM initialization failed
      解決方法:
      進入PHP安裝目錄/etc/php-fpm.d
      cp www.conf.default www.conf
三、找不到pid文件
            修改vim /etc/my.cnf 中的 pid-file的配置,配置到相關位置。

四、ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
    本身是作了一個軟鏈接  ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock;由於mysql進程會讀取默認位置/var/lib/mysql/mysql.sock文件,即便修改了my.cnf中的socket的配置。本身測試也不行。
        參考鏈接爲:https://www.cnblogs.com/fuhj02/p/3541173.html    
五、出現mysql第一次能夠正常啓動,可是後續restart出現PID文件找不到,killall mysql 以後在次啓動就能夠完成了。
數據編譯的參數和編譯時的相關設置,大多數時仿照網上,沒有理解其中的意思,後續還需增強數據庫的學習。
六、出現 curl  localhost/phpmyadmin 403錯誤。則在nginx.conf上面root 添加規則index.php。重啓nginx,再次嘗試訪問。
相關文章
相關標籤/搜索