1、 下載一鍵安裝包 LNMP 官方地址爲:http://lnmp.org/php
原生產環境爲 : php5.4.32 mysql 5.5 nginx 1.40 咱們用LNMP包安裝相應的環境css
登錄後運行:screen -S lnmp html
cd /usr/local/src wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz tar zxf lnmp1.3-full.tar.gz cd lnmp1.3-full ./install.sh lnmp
安裝mysql
第1步: 輸入MYSQL 的密碼 【XXXXXX】 默認爲 rootnginx
第2步:詢問是否須要啓用MySQL InnoDB,InnoDB引擎默認爲開啓,通常建議開啓,直接回車或輸入 y web
第3步:選擇MySQL版本,【默認】,目前提供了較多版本的MySQL和MariaDB, 選擇 2(5.5) sql
第4步:選擇3 (PHP5.4) , 【默認】選擇PHP7等高版本時須要自行確認是否與本身的程序兼容。數據庫
第5步:能夠選擇不安裝、Jemalloc或TCmalloc,輸入對應序號回車,直接回車爲【默認1】爲不安裝。vim
第6步:提示"Press any key to install...or Press Ctrl+c to cancel"後,按回車鍵確認開始安裝。
LNMP腳本就會自動安裝編譯Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer這幾個軟件。緩存
安裝完成: 若是顯示Nginx: OK,MySQL: OK,PHP: OK 和 Install lnmp V1.3 completed! enyoy it.
2、 安裝FTP
3、添加虛擬主機 (此時同時會建立 數據庫名 、 數據庫用戶名 、 數據庫用戶密碼)
4、將web文件 經過 FTP WINSCP 放到相應的虛擬目錄 /home/wwwroot/xxx.xxx.cc
5、經過phpmyadmin 選擇剛纔建立的 數據庫 導入 xxx.sql 。 或者經過命令
1 登陸 : mysql -uroot -pxxx
2 導入 : mysql -uroot -pxxx dbname </xxx/xxx.sql
六 錯誤調試
一、提示緩存文件寫入失敗!:/home/wwwroot/xxx.xxx.cc./Data/Runtime......
提示: :( 驗證碼錯誤
緣由:Data目錄沒有權限
解決方法: 對整個Data目錄改成777chmod -R 777 Data
並刪除Runtime裏的緩存文件 cd /home/wwwroot/jiaoyou.xxx.cc/Data/Runtime && rm -rf *
二、登陸界面 樣式沒有正確加載
解決方法 使用程序默認端口 81 或修改配置文件端口 ./Data/Config/url.php
return array( /* CDN域名設置 */ 'CDN_URL' =>array( 'PUBLIC' =>'http://'.APP_HOST_NAME.':81/Public/', /*修改此處81端口 或 刪除*/ 'ATTACH' =>'http://'.APP_HOST_NAME.':81/', /*修改此處81端口 或 刪除*/
), );
vim /usr/local/nginx/conf/vhost/jiaoyou.xxx.cc.conf #顯示以下: server { listen 81; //使用81端口和配置文件一至 #listen [::]:80; server_name jiaoyou.xxx.cc; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/jiaoyou.xxx.cc; include other.conf; #error_page 404 /404.html; include enable-php.conf; include /home/wwwroot/jiaoyou.xxx.cc/rewrite.conf; //加載僞靜態規則 文件放在相應web的根目錄下 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } access_log /home/wwwlogs/jiaoyou.xxx.cc.log; }
規則文件以下:include /home/wwwroot/jiaoyou.xxx.cc/rewrite.conf; //加載僞靜態規則 文件放在相應web的根目錄下
vim /home/wwwroot/jiaoyou.xxx.cc/rewrite.conf
location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; } } #代碼保護,禁止非法訪問 location ~ /(Data|Core|Source) { deny all; } location ^~ /Public/ { root /home/wwwroot/jiaoyou.xxx.cc; // 目錄必定要設置對 break; } location ~ .*\.(mp3|gif|jpg|jpeg|png|apk|amr)$ { root /home/wwwroot/jiaoyou.xxx.cc/Data/Attachments; //目錄必定設置對,要否則有些東西會顯示不出來 如圖片 if ( $status = 404 ) { rewrite /(.*)\.jpg /$1.JPG; rewrite /(.*)\.JPG /$1.jpg; } }
此網站有幾個配置文件都在 /home/wwwroot/jiaoyou.xx.cc/Data/Config 下 數據庫的爲 database.php
NGINX 的WEB根目錄下 /home/wwwroot/ 有三個目錄文件 jiaoyou.xxx.cc web-im v1.php
二 、 搭建 web-im
在 jiaoyou.xxx.cc/Public/ 下有一個目錄 web-im 是一個軟鏈接 鏈接到 /home/wwwroot/下的 web-im
v1.php 應該是 訪問 web-im 內容爲:
<?php /** * * Description * FileName: v1.php * CreateTime: 2014-3-24 下午3:00:43 * Author: allenqin <allenqinhai@gmail.com> */ define('GROUP_NAME', 'Apiv1'); require('index.php'); header('Access-Control-Allow-Origin:http://jiaoyou.xxx.cc:8099');
先用 lnmp vhost add 添加 webim 站點 域名填webim 而後再修改 配置文件
由於怕和上面的衝突 由於域名同樣 只是端口不同 ,這個網站沒有數據庫。環信的web客戶端
vim /usr/local/nginx/conf/vhost/webim.cc.conf
server { listen 8099; //使用的是8099端口 域名是同樣的 lnmp vhost add 的時候記得用不一樣的名字 #listen [::]:80; server_name jiaoyou.xxx.cc; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/web-im; include other.conf; #error_page 404 /404.html; include enable-php.conf; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } access_log /home/wwwlogs/web-im.log.log; }
老文件web-im.cc.conf:能夠無論
server { listen 8099; server_name jiaoyou.xxx.cc; charset utf-8; include /data/www/web-im/rewrite.conf; #如下爲上面rewrite的內容: 只是指定目錄而已 #location / { # root /data/www/web-im; #} location ~ \.php$ { include fastcgi-php.conf; fastcgi_param SCRIPT_FILENAME /data/www/web-im$fastcgi_script_name; } }
說明:php7(5.5及以上版本)默認是安裝opcache的,沒有啓用是由於配置php.ini沒有加 zend_extension=opcache.so
可是 5.4起好像默認起用了 ZendGuardLoader 查看php.ini最後就知道有沒有加載啓用。
包括LNMP1.2起的安裝包也是須要配置才啓用。
ZendGuardLoader和Zend Opcache同樣嗎:opcache是優化緩存代碼用的,guardloader是運行zendguard加密的php代碼用的。
兩個好像只能啓用一個???