生产环境LNMP (交友)

一、 下载一键安装包 LNMP   官方地址为:http://lnmp.org/

原生产环境为 : php5.4.32  mysql 5.5  nginx 1.40   我们用LNMP包安装相应的环境

登陆后运行:screen -S lnmp   

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

安装

第1步:  输入MYSQL 的密码 【XXXXXX】   默认为 root

第2步:询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y 

第3步:选择MySQL版本,【默认】,目前提供了较多版本的MySQL和MariaDB, 选择 2(5.5)  

第4步:选择3 (PHP5.4) , 【默认】选择PHP7等高版本时需要自行确认是否与自己的程序兼容。

第5步:可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为【默认1】为不安装。

第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.

二、 安装FTP

三、添加虚拟主机 (此时同时会创建  数据库名 、 数据库用户名 、 数据库用户密码)

四、将web文件 通过 FTP  WINSCP 放到相应的虚拟目录  /home/wwwroot/xxx.xxx.cc

五、通过phpmyadmin 选择刚才创建的 数据库 导入 xxx.sql 。  或者通过命令  

   1 登录 : mysql -uroot -pxxx   
   2 导入 : mysql -uroot -pxxx dbname </xxx/xxx.sql

六  错误调试

 1、提示缓存文件写入失败!:/home/wwwroot/xxx.xxx.cc./Data/Runtime......
      提示:        :(     验证码错误

原因:Data目录没有权限   

解决方法: 对整个Data目录改为777chmod -R 777 Data  
               并删除Runtime里的缓存文件  cd /home/wwwroot/jiaoyou.xxx.cc/Data/Runtime  && rm -rf *
              

2、登录界面 样式没有正确加载  
     解决方法 使用程序默认端口 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代码用的。

两个好像只能启用一个???

posted @ 2016-09-21 14:33    阅读(456)  评论(0编辑  收藏  举报