1. 程式人生 > >企業 - php nginx memcache

企業 - php nginx memcache

安裝php 安裝nginx 解決php和mysql的依賴關系 搭建基於lnmp的論壇 memcoache 基於php的cac


此次實驗在上次的 企業-mysql 實驗基礎上所做的實驗(lnmp架構)


一、安裝php

下載安裝包

php-5.6.20.tar.bz2
[root@server1 ~]# tar jxf php-5.6.20.tar.bz2 解包

[root@server1 php-5.6.20]# ./configure --help 尋找幫助
--with-openssl 指定驅動 加密

--with-gd 圖

--with-zlib php網頁壓縮(防盜鏈)

--with-pear 功能模塊的組件(安裝)

安裝依賴性

[root@server1 ~]# yum install libjpeg-turbo-devel-1.2.1-1.el6.x86_64

[root@server1 php-5.6.20]# yum install -y libxml2-devel
[root@server1 php-5.6.20]# yum install -y openssl-devel
[root@server1 php-5.6.20]# yum install -y curl-devel
[root@server1 ~]# yum install -y gd-devel-2.0.35-11.el6.x86_64.rpm
[root@server1 ~]# yum install -y gmp-devel
[root@server1 ~]# yum install libmcrypt-devel-2.5.8-9.el6.x86_64.rpm libmcrypt-2.5.8-9.el6.x86_64.rpm -y
[root@server1 ~]# yum install -y net-snmp-devel
[root@server1 ~]# yum install re2c-0.13.5-1.el6.x86_64.rpm -y

執行

[root@server1 php-5.6.20]# ./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-pear --with-gettext --with-gmp --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash


[root@server1 php-5.6.20]# make && make install
編譯完成

技術分享圖片


技術分享圖片


拷貝文件到指定路徑

[root@server1 php-5.6.20]# cp php.ini-production /usr/local/lnmp/php/etc/php.ini

技術分享圖片


[root@server1 fpm]# cp init.d.php-fpm /etc/init.d/php-fpm
[root@server1 fpm]# chmod +x /etc/init.d/php-fpm 加執行權限

技術分享圖片


修改php配置文件

技術分享圖片

技術分享圖片




開啟服務,發現出錯,說是沒有用戶

技術分享圖片

按照報錯,新建用戶


技術分享圖片

服務開啟


技術分享圖片

php服務端口9000端口已開

技術分享圖片


二、安裝nginx


下載

nginx-1.10.1.tar.gz
[root@server1 ~]# tar zxf nginx-1.10.1.tar.gz 解壓

修改文件

[root@server1 core]# pwd
/root/nginx-1.10.1/src/core
[root@server1 core]# vim nginx.h

技術分享圖片

[root@server1 cc]# pwd
/root/nginx-1.10.1/auto/cc
[root@server1 cc]# vim gcc

技術分享圖片


編譯前安裝依賴性

[root@server1 nginx-1.10.1]# yum install -y pcre-devel

進行編譯

[root@server1 nginx-1.10.1]# ./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-threads --user=nginx --group=nginx

[root@server1 nginx-1.10.1]# make && make install

技術分享圖片


[root@server1 sbin]# ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin/ 做軟連接

[root@server1 ~]# nginx -t 檢測語法
技術分享圖片

開啟服務,查看服務端口

[root@server1 ~]# nginx 開啟服務
[root@server1 ~]# netstat -antlp
技術分享圖片


修改配置文件

[root@server1 conf]# vim nginx.conf
技術分享圖片


技術分享圖片



[root@server1 conf]# nginx -t 檢查語法
[root@server1 conf]# nginx -s reload 重新加載

技術分享圖片


創建nginx訪問php主頁的頁面

技術分享圖片

[root@server1 conf]# vim nginx.conf

技術分享圖片

[root@server1 conf]# nginx -t
[root@server1 conf]# nginx -s reload

瀏覽器訪問

技術分享圖片




三、解決php和mysql的依賴關系


技術分享圖片

修改配置文件

[root@server1 etc]# vim php.ini

技術分享圖片


技術分享圖片

技術分享圖片

修改完文件,重新加載

技術分享圖片


四、搭建基於lnmp的論壇


下載

Discuz_X3.2_SC_UTF8.zip

[root@server1 ~]# yum install -y unzip

[root@server1 ~]# unzip Discuz_X3.2_SC_UTF8.zip 解壓

修改解壓出的目錄名字

技術分享圖片


技術分享圖片


ngnx設置虛擬主機 實現基於域名訪問nginx


vim /usr/local/lnmp/nginx/conf/nginx.conf


技術分享圖片

nginx -t 檢測

nginx -s reload 加載

技術分享圖片



如下修改權限

技術分享圖片


技術分享圖片


技術分享圖片


[root@server1 conf]# /etc/init.d/mysqld restart


[root@server1 install]# mysql -p

mysql> show databases;
mysql> use discuz
mysql> show tables;



五、memcoache 基於php的cache


[root@server2 ~]# yum install -y memcached

技術分享圖片

Telnet

Telnet協議是TCP/IP協議族中的一員,是Internet遠程登陸服務的標準協議和主要方式。它為用戶提供了在本地計算機上完成遠程主機工作的能力。在終端使用者的電腦上使用telnet程序,用它連接到服務器終端使用者可以在telnet程序中輸入命令,這些命令會在服務器上運行,就像直接在服務器的控制臺上輸入一樣。可以在本地就能控制服務器。要開始一個telnet會話,必須輸入用戶名和密碼來登錄服務器。Telnet是常用的遠程控制Web服務器的方法。


[root@server2 ~]# yum install telnet -y


技術分享圖片

技術分享圖片




技術分享圖片


[root@server1 bin]# vim ~/.bash_profile 環境變量

技術分享圖片


[root@server1 bin]# source ~/.bash_profile


[root@server1 ~]# tar zxf memcache-2.2.5.tgz

技術分享圖片



[root@server1 memcache-2.2.5]# ./configure --prefix=/usr/local/lnmp/php/memcache

[root@server1 memcache-2.2.5]# make && make install

技術分享圖片


技術分享圖片


技術分享圖片


[root@server1 etc]# vim php.ini 修改配置文件

技術分享圖片

重新加載服務

技術分享圖片


拷貝文件

技術分享圖片

查看端口

技術分享圖片


[root@server1 html]# vim example.php

技術分享圖片

[root@server1 html]# vim memcache.php

技術分享圖片



(client -> nginx -> php-fpm -> php -> memcached -> mysql)


技術分享圖片



六、OpenResty

OpenResty? 是一個基於 Nginx 與 Lua 的高性能 Web 平臺,其內部集成了大量精良的 Lua 庫、第三方模塊以及大多數的依賴項。用於方便地搭建能夠處理超高並發、擴展性極高的動態 Web 應用、Web 服務和動態網關

OpenResty? 通過匯聚各種設計精良的 Nginx 模塊(主要由 OpenResty 團隊自主開發),從而將 Nginx 有效地變成一個強大的通用 Web 應用平臺。這樣,Web 開發人員和系統工程師可以使用 Lua 腳本語言調動 Nginx 支持的各種 C 以及 Lua 模塊,快速構造出足以勝任 10K 乃至 1000K 以上單機並發連接的高性能 Web 應用系統。

OpenResty? 的目標是讓你的Web服務直接跑在 Nginx 服務內部,充分利用 Nginx 的非阻塞 I/O 模型,不僅僅對 HTTP 客戶端請求,甚至於對遠程後端諸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都進行一致的高性能響應。


下載安裝包

openresty-1.13.6.1.tar.gz

[root@server1 ~]# tar zxf openresty-1.13.6.1.tar.gz 解壓

技術分享圖片

[root@server1 openresty-1.13.6.1]# gmake
[root@server1 openresty-1.13.6.1]# gmake install

技術分享圖片


[root@server1 nginx]# nginx -s stop 關掉之前的nginx服務

技術分享圖片


瀏覽器訪問該主機

技術分享圖片


技術分享圖片


[root@server1 conf]# vim nginx.conf 修改配置文件

技術分享圖片


技術分享圖片


寫頁面,改訪問順序

技術分享圖片

技術分享圖片



技術分享圖片


技術分享圖片



企業 - php nginx memcache