1. 程式人生 > >Ubuntu14+Nginx安裝配置(edusoho)

Ubuntu14+Nginx安裝配置(edusoho)

本教程主要分為一下幾個步驟:更新系統、安裝並配置Nginx、安裝MySQL、安裝並配置PHP、 安裝並配置EduSoho,測試Edusoho。

更新系統

sudo apt-get update
sudo apt-get upgrade

安裝Nginx

安裝nginx

sudo apt-get install nginx

配置Nginx

sudo vim /etc/nginx/nginx.conf
然後 在http{} 欄位裡新增

client_max_body_size 1024M;
sendfile       on;

安裝MySQL

apt-get
install mysql-server

在這個過程過程中會要求您輸入MySQL資料庫的root密碼,請認真填寫。

安裝PHP

安裝PHP

sudo apt-get install php5 php5-cli php5-curl php5-fpm php5-intl php5-mcrypt php5-mysqlnd php5-gd

修改PHP上傳檔案的大小限制

sudo vim /etc/php5/fpm/php.ini
新增一下三行配置文字

post_max_size = 1024M 
memory_limit = 1024M
upload_max_filesize = 1024M

配置PHP-FPM

編輯配置檔案: vim /etc/php5/fpm/pool.d/www.conf

查詢: listen = 127.0.0.1:9000
替換為: listen = /var/run/php5-fpm.sock
找到:

;listen.owner = www-data
;listen.group = www-data
;listen.mode = 0660
去除最前面的分號。

然後重啟PHP-FPM

sudo /etc/init.d/php5-fpm restart

配置安裝EduSoho

下載/解壓程式

mkdir /var/www
cd /var/www
wget http://download.edusoho
.com/edusoho-VERSION.tar.gz tar zxvf edusoho-VERSION.tar.gz chown www-data:www-data edusoho/ -Rf rm edusoho-VERSION.tar.gz

注:這裡的下載地址可以在http://www.edusoho.com/中可以獲取到,VERSION為下載來之後壓縮包後面的版本號。

建立資料庫

mysql -uroot -p
然後你需要輸入MySQL資料庫的root密碼。
進入資料庫命令列模式後,執行:

CREATE DATABASE `edusoho` DEFAULT CHARACTER SET utf8 ; 
GRANT ALL PRIVILEGES ON `edusoho`.* TO 'esuser'@'localhost' IDENTIFIED BY 'edusoho';
quit

注: 請將YOUR_PASSWORD修改為你的密碼,以上語句建立了名edusoho為的資料庫,和資料庫使用者esuser,安裝EduSoho程式時需要用到。
測試資料庫是否建立成功: mysql -uesuser -p –default-character-set=utf8 edusoho

配置nginx的虛擬主機

sudo vim /etc/nginx/sites-enabled/edusoho
輸入以下內容:

server {
    listen 80;

    # [改] 網站的域名
    server_name www.example.com example.com;

    #301跳轉可以在nginx中配置

    # 程式的安裝路徑
    root /var/www/edusoho/web;

    # 日誌路徑
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location / {
        index app.php;
        try_files $uri @rewriteapp;
    }

    location @rewriteapp {
        rewrite ^(.*)$ /app.php/$1 last;
    }

    location ~ ^/udisk {
        internal;
        root /var/www/edusoho/app/data/;
    }

    location ~ ^/(app|app_dev)\.php(/|$) {
        fastcgi_pass   unix:/var/run/php5-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param  HTTPS              off;
        fastcgi_param HTTP_X-Sendfile-Type X-Accel-Redirect;
        fastcgi_param HTTP_X-Accel-Mapping /udisk=/var/www/edusoho/app/data/udisk;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 8 128k;
    }

    # 配置設定圖片格式檔案
    location ~* \.(jpg|jpeg|gif|png|ico|swf)$ {
        # 過期時間為3年
        expires 3y;

        # 關閉日誌記錄
        access_log off;

        # 關閉gzip壓縮,減少CPU消耗,因為圖片的壓縮率不高。
        gzip off;
    }

    # 配置css/js檔案
    location ~* \.(css|js)$ {
        access_log off;
        expires 3y;
    }

    # 禁止使用者上傳目錄下所有.php檔案的訪問,提高安全性
    location ~ ^/files/.*\.(php|php5)$ {
        deny all;
    }

    # 以下配置允許執行.php的程式,方便於其他第三方系統的整合。
    location ~ \.php$ {
        # [改] 請根據實際php-fpm執行的方式修改
        fastcgi_pass   unix:/var/run/php5-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param  HTTPS              off;
    }
}

配置檔案中的example.com 為您需要指定的域名,為了確保您的域名能被他人訪問得到, 您需要將這個域名和您當前的機器IP地址做DNS解析工作。

重啟nginx

sudo /etc/init.d/nginx restart

最後一步:
瀏覽器中開啟:http://YOU_DOMAIN 安裝,當然這裡的YOU_DOMAIN是您的域名。