welcome to xlongwei.com

欢迎大家一起学习、交流、分享


QQ:9167702333 邮箱:admin@xlongwei.com

快速上手ourjs


分类 OurJS   关键字 分享   标签 ourjs   发布 admin  1425263465812
注意 转载须保留原文链接,译文链接,作者译者等信息。  

获取源码并配置运行

ourjs可以使用node.js的npm包管理模块获取源码
npm install ourjs,运行完成后当前目录会有node_modules/ourjs,复制ourjs到web目录即可
node src/ourjs.js config.newspaper.js,运行ourjs模板,然后访问http://localhost:8052即可

注册管理员账户

初次运行时有默认账户guest/123456,可以再注册一个admin账户,并且注册admin账户之前最好更改一下密钥
vi config.newspaper.js
CRYPTOKEY       : '!@#$qwer4rfv%TGB',修改这个默认密钥值,GENERAL_CONFIG
然后注册admin账户,可以删除guest账户文件
rm -f data/modules/user/53dddf9c22b1d9980946164f
登录admin账户后可以进入管理后台
/admin/data/article/select,文章管理
/admin/data/user/select,用户管理
/updatecache,清除缓存

详细配置

1,将ourjs的代码和数据分开,ourjs代码可以放入svn并进行定制修改,数据不必与svn同步而且分开后方便定时备份
vi config.newspaper.js
dataModelsDir: './data/modules',这是文章和用户数据目录,GENERAL_CONFIG
countFolder: './data/counts',这是文章的用户点击数据
schemaFolder: './data/schema',这是文章、用户、回复的模式信息
数据目录可以统一修改至/soft/ourjsdata目录内,方便定时备份
dataAdapter: 'fileAdapter',还可以选择mongoAdapter或redisAdapter,待研究
var debug = true;开启调试模式,方便ourjs/web/newspaper里的tmpl文件和part文件修改后刷新即生效
2,配置redis缓存,yum install redis安装,vi /etc/redis.conf配置,redis-server /etc/redis.conf运行
var REDIS_CONFIG = {
    port    : 6379
  , host    : '',改为127.0.0.1即可使用redis缓存
3,自定义分类和关键词,分别对应阅读和交流下的分类
修改CATEGORIES和KEYWORDS即可

Nginx配置

/etc/nginx/nginx.conf
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  10240;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
   charset utf-8;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    keepalive_timeout  65;

gzip on;
gzip_min_length  1k;
gzip_buffers     4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types  text/plain text/html text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_vary on;
client_header_buffer_size 8k;
client_max_body_size 8m;
client_body_buffer_size 256k;
proxy_connect_timeout 30;
proxy_read_timeout 10;
proxy_send_timeout 10;
proxy_buffer_size 256k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;
proxy_cache_path  /var/cache/nginx levels=1:2 keys_zone=one:8m max_size=3000m inactive=600m;
proxy_temp_path /var/tmp;
server_tokens off;
upstream ourjs {
    server 127.0.0.1:8055;
    keepalive 64;
}

ssi on;
ssi_silent_errors on;
#ssi_types text/html;
    include /etc/nginx/conf.d/*.conf;
}

/etc/nginx/conf.d/newspaper.conf
server {
    listen       80;
    server_name  xlongwei.com www.xlongwei.com;
    access_log  /var/log/nginx/newspaper.access.log  main;
        location ~ ^/(img/|js/|css/|favicon.ico) {
            root /usr/local/ourjs/web/newspaper;
            access_log off;
            expires max;
        }
        location /uploads/ {
            alias /soft/uploads/;
        }
        location ~ .*.(svn|git|cvs) {
            deny all;
        }
        location / {
            proxy_set_header X-Real-IP $remote_addr;
      proxy_http_version 1.1;
      proxy_cache one;
      proxy_cache_key sfs$request_uri$scheme;       
      proxy_pass http://ourjs;
        }
}