CentOS6.4下源代碼安裝以及nginx配置

之前網上有個centos下的自動安裝腳本,腳本自己應該是正確的,可是可能在多人轉載後,中間有信息遺漏或者丟失,因此形成腳本失敗,不能直接用

我把本身在CentOS下源代碼安裝OE以及與nginx整合的操做步驟拿出來分享一下,若有謬誤,請壇友多指正


第一部分,安裝OE
說明:CentOS版本爲6.4版本,命令行採用bash,PostgreSQL爲9.2版本,Nginx爲1.4版本

一、CentOS 的安裝選項有最小化安裝、基本服務器安裝、虛擬主機安裝等等的,我這裏採用的是基本服務器安裝(帶的東西較少,其實咱們也只須要網絡能聯通加上yum可用便可)
二、安裝postgresql9.2(默認的8.4版本我沒試過,我通常都是把默認的8.4給卸載掉,下文中pg就表明postgresql-9.2)

注意:#表明root用戶命令行狀態(不作特別說明了),中間會涉及到切換到其餘用戶

#cd /tmp              //進入tmp目錄,這是系統的臨時目錄,裏面的文件不重要,即便誤刪危害也不大,因此推薦在tmp目錄下作臨時性操做
#yum remove postgres //卸載原有的pg,若是pg默認沒有安裝這條命令則無視
#rpm -Uvh http://yum.pgrpms.org/9.3/redhat/rhel-6Server-x86_64/pgdg-centos93-9.3-1.noarch.rpm //RPM方式從網絡上安裝pg的RPM包
#yum -y install postgresql93 postgresql93-server postgresql93-libs postgresql93-contrib postgresql93-devel //使用yum安裝相關依賴包
#service postgresql-9.3 initdb  //初始化pg數據庫
#service postgresql-9.3 start   //啓動pg服務
#chkconfig postgresql-9.3 on   //將pg啓動服務加入CentOS的啓動列表,至關於windows裏面的啓動項

#su - postgres                      //切換到postgres用戶,該用戶爲安裝pg時安裝包自動建立的,它是pg默認的超級用戶,在該用戶環境下有一些管理命令
-bash-4.1(postgres)$createuser --superuser openerp    //建立一個叫openerp的超級用戶(此時建立的用戶只是數據庫的用戶,openerp在操做系統中並不存在,請注意其中的區別)

#rpm -ivh http://dl.fedoraproject.org/pub/epel/6Server/x86_64/epel-release-6-8.noarch.rpm  //從網絡上安裝epel包,我這裏的RPM連接是針對x86_64版本的,若是是其餘版本請作對應修改
#yum -y python-dateutil python-docutils python-feedparser python-imaging python-jinja2 python-ldap libxslt-python python-lxml python-mako python-mock python-openid  python-psutil python-psycopg2 python-reportlab python-yaml  pywebdav  python-vobject  python-vatnumber python-unittest2  python-simplejson pytz python-gdata python-ZSI  pychart pydot pybabel pyparsing python-werkzeug  //安裝OE依賴的庫,大部分都是python庫,也有一部分其餘依賴庫

#wget http://gdata-python-client.googlecode.com/files/gdata-2.0.17.zip  //這東西起什麼做用我也不清楚,不過它很好安裝
#unzip gdata-2.0.18.zip
#cd gdata-2.0.18
#python setup.py install

#cd /tmp
#rm -rf openerp*                          //清理不用的舊的openerp開頭的全部文件(慎用)
#wget http://nightly.openerp.com/7.0/nightly/src/openerp-7.0-latest.tar.gz   //下載OE源代碼包,準備安裝
#tar xvzf openerp-7.0-latest.tar.gz           //解壓OE源代碼包
#mkdir /opt/oe7
#cp -R openerp*/{openerp,install/{openerp-server.init,openerp-server.conf},openerp-server,setup.py} /opt/oe7  //將咱們須要的文件拷貝到安裝目錄
#adduser openerp                            //建立openerp用戶,它與postgres建立的openerp是關聯的
#chown openerp:openerp /opt/oe7 -R          //將OE安裝目錄下的全部文件全部者設定爲openerp用戶

#cd /opt/oe7
#chmod u+x openerp-server.init  //.init文件是oe的一個啓動腳本,須要給它設置可執行權限
#mv openerp-server.init  /etc/init.d/oe7server   
#chkconfig oe7server on         //將oe加入CentOS啓動列表
#cp openerp-server.conf /etc     //將OE的配置文件拷貝到/etc目錄下,若是想自定義配置文件路徑能夠經過給openerp-server設置選項或者修改openerp-server.init文件裏面的路徑來實現,這裏採用的方法不用作修改,較爲簡單

;;到這裏OE基本上安裝完成了
#service oe7server start             //啓動OE,這時候應該能夠經過瀏覽器訪問OE了


第二部分,安裝Nginx
OE自己自帶的webserver效能較低,在前端採用nginx作代理

#yum install nginx                   //nginx安裝很簡單
配置/etc/nginx/nginx.conf文件,若是隻是爲OE服務,建議一個配置文件便可,步科的多文件配置方式是在ubuntu上測試的,在CentOS上缺乏相關目錄(固然應該是我不熟)

;;/etc/nginx/nginx.conf配置文件
#設定http服務器,利用它的反向代理功能提供負載均衡支持

user              nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;

events {
    use epoll;
    worker_connections  1024;
}

http {
     #設定mime類型,類型由mime.type文件定義
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    #設定日誌格式
    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;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    #添加一個類型 application/javascript
    gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    # Load config files from the /etc/nginx/conf.d directory
    # The default server is in conf.d/default.conf
    include /etc/nginx/conf.d/*.conf;

    upstream oe_server{
        #這裏能夠給出多個server,用來分擔OE服務器的負擔,而且還能夠設定權重(具體請參考nginx配置)
        server 127.0.0.1:8069;    //這是OE提供服務的地址及端口,能夠指定多個server,也就是可使用多個OE服務器來均衡負載,可是後臺數據庫仍是要保證在邏輯上是一臺
                                //我是由於nginx與OE在同一臺機器,因此能夠寫成127段地址
    }

   #第一個虛擬服務器
   server {
        #偵聽192.168.1.2的80端口
        listen       80;
        server_name  192.168.1.2;

        location /{
          root   /opt/oe7/openerp/addons/;      #定義服務器的默認網站根目錄位置
          proxy_pass  http://oe_server ;#請求轉向mysvr 定義的服務器列表
          #如下是一些反向代理的配置可刪除.
          proxy_redirect off;
          #後端的Web服務器能夠經過X-Forwarded-For獲取用戶真實IP
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          client_max_body_size 10m;    #容許客戶端請求的最大單文件字節數
          client_body_buffer_size 128k;  #緩衝區代理緩衝用戶端請求的最大字節數,
          proxy_connect_timeout 90;  #nginx跟後端服務器鏈接超時時間(代理鏈接超時)
          proxy_send_timeout 90;        #後端服務器數據回傳時間(代理髮送超時)
          proxy_read_timeout 90;         #鏈接成功後,後端服務器響應時間(代理接收超時)
          proxy_buffer_size 4k;             #設置代理服務器(nginx)保存用戶頭信息的緩衝區大小
          proxy_buffers 4 32k;               #proxy_buffers緩衝區,網頁平均在32k如下的話,這樣設置
          proxy_busy_buffers_size 64k;    #高負荷下緩衝大小(proxy_buffers*2)
          proxy_temp_file_write_size 64k;  #設定緩存文件夾大小,大於這個值,將從upstream服務器傳
        }
     }
}


#service nginx start 


OK,如今能夠經過nginx來訪問OE了
若是加上花生殼軟件,再配置路由器端口映射,外網就能夠經過域名來訪問內網OE了

javascript

相關文章
相關標籤/搜索