Centos 6.6 下 nginx +php mysql + phpMyadmin 安裝部署
Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一組常用來搭建動態網站或者服務器的開源軟件,本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用程序平臺。隨著開源潮流的蓬勃發展,開放源代碼的LAMP已經與J2EE和.Net商業軟件形成三足鼎立之勢,並且該軟件開發的項目在軟件方面的投資成本較低,因此受到整個IT界的關註。從網站的流量上來說,70%以上的訪問流量是LAMP來提供的。
一、Nginx簡介:
Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器,在高連接並發的情況下Nginx 是 Apache 服務器不錯的替代品.其特點是占有內存少,並發能力強,事實上nginx的並發能力確實在同類型的網頁服務器中表現較好.目前中國大陸使用nginx網站用戶有:新浪、網易、 騰訊,另外知名的微網誌Plurk也使用nginx。 *Nginx 作為 負載均衡 服務器:*
Nginx 既可以在內部直接支持 Rails 和 PHP 程序對外進行服務,也可以支持作為 HTTP 代理服務器對外進行服務。 Nginx 采用 C 進行編寫, 不論是系統資源開銷還是 CPU 使用效率都比 Perlbal 要好很多。作為郵件代理服務器:
Nginx 同時也是一個非常優秀的郵件代理服務器(最早開發這個產品的目的之一也是作為郵件代理服務器), Last.fm 描述了成功並且美妙的使用經驗。Nginx 是一個安裝非常簡單,配置文件非常簡潔(還能夠支持perl語法), Bugs非常少的服務器: Nginx 啟動特別容易,並且幾乎可以做到 7*24 不間斷運行,即使運行數個月也不需要重新啟動。 你還能夠不間斷服務的情況下進行軟件版本的升級。
*二、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包。
第一步: 下載安裝所需包
openssl-fips-2.0.2.tar.gz
zlib-1.2.7.tar.gz
pcre-8.21.tar.gz
nginx-1.2.6.tar.gz
第二步:依次安裝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
一、PHP簡介:
腳本語言,網站建設,服務器端運行PHP定義:一種服務器端的 HTML 腳本/編程語言,是一種簡單的、面向對象的、解釋型的、健壯的、安全的、性能非常之高的、獨立於架構的、可移植的、動態的腳本語言。是一種廣泛用於 Open Source(開放源代碼)的尤其適合 Web 開發並可以嵌入 HTML 的多用途腳本語言。它的語法接近 C,Java 和 Perl,而且容易學習。該語言讓 Web 開發人員快速的書寫動態生成的網頁。
二、安裝:
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
三、配置成功:
出現上圖說明配置成功~
四、 make && make install
到此處則編譯完成!
五、後續工作
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:
5.3 cd /usr/local/php/etc/php-fpm.d ; cp www.conf.default www.conf
六、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頁面。
七、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 數據庫安裝
問題和解決:
1、編譯安裝php遇到的問題和解決方法:
https://www.cnblogs.com/z-ping/archive/2012/06/18/2553929.html
2、問題:在啟動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
3、
Centos 6.6 下 nginx +php mysql + phpMyadmin 安裝部署