lnmp php7 搭建線上服務器 三

 

上次完成了基本的配置,咱們的代碼也能夠正常運行了,在測試的時候,也發現了一些問題(是個人網站的一些問題),好比上傳文件的路徑寫的是在Windows開發時的虛擬站點的域名,上線後致使上傳出現問題,由於線上的域名與寫代碼時候的域名不同,致使出來的問題,因此在日常的開發時,必定要確認好這些小問題,否則上線後就會有各類問題,還好是我本身的項目,否則鐵定少不了一頓罵。php

 

相似上面的狀況,最好的解決辦法就是,這些可能會改變的東西,分離出來是最好的,就laravel來講,配置文件是最好的選擇。.config或者.env,固然這二者仍是有些區別的,具體請看html

http://www.javashuo.com/article/p-yxnwyjcn-nt.htmllinux

 

好了,閒談結束,來看看今天的任務吧(依舊是搭建環境,後續會出實戰的)

一、安裝memcached

二、安裝php的memcached擴展

三、安裝redis

四、安裝php的redis擴展

至於swoole,暫不考慮,後續會再詳細介紹的。

一、memcached

下載源碼包nginx

http://www.memcached.org/laravel

 

 

 

下載源碼redis

 

 

 

下載好後解壓 vim

 

tar xvzf memcached-1.6.7.tar.gzwindows

 

查看,configurecentos

 

 

 

有了它咱們就能夠編譯了,使用緩存

./configure --prefix=你指定的目錄

 

 

 

 

報錯了。。。。。

 

 

 須要libevent依賴,那咱們就裝上它,有些人可能會有疑問,咋不早點裝它,這樣就看不到錯誤了,其實吧,,我早知道須要這個依賴,這是教學篇,因此報錯是好的,再說咱們怎麼知道有沒有裝過那個依賴,,他缺乏啥,我們就裝啥,搞起。

 

使用 yum install -y libevent  libevent-devel.x86_64

裝完以後,再次執行 ./configure --prefix=你指定的目錄

 

 

 

 

 

而後就OK了,就編譯好了

接下來,安裝它 使用make  && make install

等待一會就裝好了,進入目錄看看

 

 

 

 

 

接下來是啓動,這裏有些參數,根據須要指定

/usr/local/memcached/bin/memcached -d -u root -m 16m -p 11211

-m 啓動16兆內存   一個原則,指定的內存大小比物理內存在小

-p 默認端口11211

-d 啓動守護進程

-u 指定用戶

-c 指定鏈接數(併發數)

-l是監聽的服務器IP地址  127.0.0.1   0.0.0.0 誰均可以訪問

注:memcached默認的端口號爲:11211

 

### 關閉memcached

pkill memcached

 

 

 啓動成功

這裏註釋下:本教程儘量不考慮Windows下環境,儘量以Linux爲準,因此接下來不會演示在Windows安裝memcached以及Telnet,不過我會再出相關的教程的,只不過不在這一系列中,望周知。

接下來,安裝Telnet,Telnet是用來鏈接memcached的,也能夠操做。

 

 

 

安裝成功,q表示退出Telnet。

 

 

 

 

 

使用telnet鏈接memcached

 

語法

 

telnet ip  port  回車

 

鏈接成功 按下 crtl+]

 

linux中執行telnet命令鏈接memcached服務

 

 

 徹底正常,繼續往下。

 

使用memcached

 

獲取、添加、設置數據 # 獲取存儲在 key(鍵) 中的 value(數據值) ,若是 key 不存在,則返回空。 get key # 添加 add 只能添加不存在的key或過時了的key,存在的key添加則報錯 add key flags exptime bytes\n value\n # 設置 set key存在則修改,不存在則添加 set key flags exptime bytes\n value\n 
參數說明以下: key:結構中的 key,用於查找緩存值。 flags:客戶機使用它存儲關於鍵值對的額外信息(
0|1|2) exptime:在緩存中保存鍵值對的時間長度(以秒爲單位,0 表示永遠)[時間長度(最長30天),時間戳(時間戳能夠設置好久的時間超過30天的限制)] bytes:在緩存中存儲的字節數 value:存儲的值長度和bytes長度設置的同樣的 輸出信息說明: STORED:保存成功後輸出。 ERROR:在保存失敗後輸出。 自增和自減 # incr 與 decr 命令用於對已存在的 key(鍵) 的數字值進行自增或自減操做 # incr 與 decr 命令操做的數據必須是十進制的32位無符號整數 # 自增 # 統計 set key 0 3600 1 value incr key increment_value(能夠想寫多少就寫多少,且必須是正數) 自增和自減,通常用於統計 注:使用自增或自減第1步,要用set或add建立一個key值,後纔可使用incr或decr 刪除數據 # delete 命令用於刪除已存在的 key(鍵) delete key # 清除全部 儘可能不要去使用 flush_all 輸出信息說明: DELETED:刪除成功。 ERROR:語法錯誤或刪除失敗。 NOT_FOUND:key 不存在。 查看狀態 # 用於返回統計信息例如 PID(進程號)、版本號、鏈接數等 stats pid: memcache服務器進程ID uptime:服務器已運行秒數 curr_connections:當前鏈接數量 cmd_get:get命令請求次數 cmd_set:set命令請求次數 get_hits:get命令命中次數 get_misses:get命令未命中次數 命中率 get_hits/cmd_get 60% – 90%

 

這個我們還不涉及memcached的具體應用,因此先了解這些經常使用命令,至於實戰運用,會在後面的教程中進行講解。

 

上面咱們完成了memcached的安裝以及使用Telnet鏈接及操做memcached。

但這就像單機遊戲同樣,本身玩沒啥意思,因此php他來了 ,上次我麼整合php+nginx,此次咱們整合php+memcached

 

二、安裝擴展

linux下安裝擴展

PHP Memcache 擴展包下載地址:http://pecl.php.net/package-search.php?pkg_name=memcache,你能夠下載最新穩定包(stable)。

一樣,進入網站,複製連接,使用wget 下載,解壓,這些操做是相同的因此,這裏再也不贅述,如有不明白的,能夠看以前的,剛開始講解的詳細點,熟悉了以後就不裝了,攤牌了。我是京城一哥--張大炮是也。。。

開個玩笑,我們繼續。。。。

此次先裝依賴,上次是不裝了,攤牌了,此次咱先裝上依賴。(裝最新的穩定版的就行,沒必要和個人版本同樣,你可能十年後看到這篇文章,你難道裝十年前的擴展嗎?因此的注意時差)

# 安裝依賴 安裝安裝安裝 yum install -y libmemcached.x86_64 libmemcached-devel.x86_64 # 安裝memcached擴展 wget http://pecl.php.net/get/memcache-4.0.5.2.tgz  
tar zxvf memcache-4.0.5.2.tgz  cd memcache-4.0.5.2  phpize 命令 (在擴展文件所解壓目錄中去執行) ./configure --with-php-config=/usr/local/php/bin/php-config make && make install 配置php.ini    注意這裏可能會報錯 extension = memcached.so 注:windows中的擴展後綴名叫.dll linux中的擴展的後綴名爲.so

咱們來看看那個報錯

PHP Warning: PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib64/php/modules/memcached.so (/usr/lib64/php/modules/memcached.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/memcached.so.so (/usr/lib64/php/modules/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

好傢伙,挺長的報錯,這是什麼緣由形成的?百度看看,會有人跟你說,是centos的系統致使的,或者是PHP自己致使的。。。。。

其實都不是,這是由於咱們使用yum安裝的,yum安裝時給咱們作了不少的規範,因此,當咱們不聽從這些規範的時候理所應當的就報錯了。

做爲良心博主,不進告訴你錯誤的緣由,還教你怎麼解決(*^▽^*)

若是是源碼安裝的php,那麼可使用修改php.ini文件來發現擴展,畢竟咱們Windows中開啓擴展頁是修改php.ini文件。

但,yum安裝php的看過來吧

解決辦法:

一、cd  /etc/php.d 目錄下  隨意複製一份配置文件 好比  cp  bz2.ini  memcached.ini    //這裏的memcached.ini  是帶 d  的  注意  後面有個不帶d 的

二、複製完後  ,vim memcached.ini  

進行如圖修改

 

 

三、wq保存退出

使用 php -m |grep 擴展名   能夠查找擴展是否安裝    顯而易見,咱們的memcached擴展已經安裝好了

 

 

 這樣的方法咱們也用來安裝swoole,因此要確保本身熟練運用

 

接下來,咱們來安裝redis

這裏跟上面操做基本同樣,我寫僞代碼解釋一下。

一、賦值連接,wget下載,tar zxvf  redis。。。gz   解壓

二、進入解壓後的目錄,而後直接執行 make

三、執行完make後,執行 make  PREFIX=/usr/local/redis  install   這裏記得 指定安裝目錄   還有 就是  PREFIX  得是大寫的  小寫不行

這樣就安裝好了

四、賦值 解壓後的目錄中的redis.conf  到  /usr/local/redis/bin  

五、修改 redis.conf

 

 這個修改是容許redis 在後臺運行。

 

啓動redis服務

語法:命令  配置文件

redis-server(寫路徑)   redis.conf(寫路徑)

注意:此處命令與配置文件,能夠寫相對路徑或絕對路徑。

好比使用絕對路徑寫法  /usr/local/redis/bin/redis-server  /usr/local/redis/redis.conf

 

查看是否啓動成功:啓動成功後,默認的端口是6379

netstat –tunpl | grep 6379

 

客戶端鏈接redis服務

語法: redis-cli   -h  主機ip  -p端口號

若是是鏈接到本地,則直接輸入鏈接命令便可。

redis-cli是客戶端鏈接服務器的命令

 

測試能用不

 

 OK~

關閉redis的服務

中止Redis實例 

咱們可使用/usr/local/redis/bin/redis-cli  shutdown

也可使用pkill redis-server

killall redis-server

pkill -9 redis

 

 

四、安裝php的redis擴展

http://pecl.php.net/package/redis

下載,解壓,進入解壓目錄,執行phpize 生成config

而後執行  ./configure --with-php-config=/usr/bin/php-config    指定一會生成的.so擴展放到哪一個目錄,咱們指定了,就會放到那個目錄

而後執行 make && make install

 

以後,進入/etc/php.d 而後隨便複製一個.ini文件改成 redis.ini 而後

 

 

和 安裝 memcached擴展的操做是同樣的。

這樣就OK了。

 

至此,今日份快樂已經完成了。後續會繼續推出新的文章,好比 php操做 memcached redis  swoole  

學會了,php操做這些以後,咱們進行項目實戰,敬請期待。

相關文章
相關標籤/搜索