日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
CentOS6(64-bit)+Nginx搭建靜態(tài)文件服務器

Nginx搭建靜態(tài)文件服務器

使用命令打開Nginx配置文件:

sudo vim /etc/nginx/conf.d/default.conf

將配置改為:

server {
    ......
    ......
    
    # 下面的東西是需要自行添加的配置 
    location ~ \.(png|gif|jpg|jpeg)$ {
        root /usr/share/nginx/images; #這個將替換`server->root`配置
        # expires 1d;
        index default.jpg;
    }
    # 上面就是需要添加的東西了
    # 對于滿足以 .png/.gif/.jpg 結(jié)尾的url請求,
    # 將其根目錄定義為 /usr/share/nginx/images
    # 文件的有效期為一天(如果需要可以取消注釋)
    
    ......
    ......
}

設置完之后通過命令:

sudo service nginx restart
重啟Nginx后生效。

如果遇到啟動失敗,使用命令:

nginx -t

查看錯誤信息

Nginx搭建PHP運行環(huán)境

PHP運行環(huán)境安裝一個php-fpm包即可:

sudo yum install php-fpm

執(zhí)行命令打開對應的配置文件:

sudo vim /etc/nginx/conf.d/default.conf

將server_name改為:

server_name localhost;

將第一個默認的localtion改為:

location / {
    try_files $uri $uri=404;
}

將 404 改為:

error_page 404 /404.html;

執(zhí)行命令:

vim /etc/php-fpm.d/www.conf

查找并記住listen內(nèi)容(以下127.0.0.1:9000是我本機的設置):

listen = 127.0.0.1:9000

去掉Nginx配置文件里的PHP的配置改為如下:

# 同樣是在server的區(qū)塊里
location ~ \.php$ {
    try_files $uri = 404;
    fastcgi_pass 127.0.0.1:9000; # 就是上面查找到的127.0.0.1:9000這個內(nèi)容
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

可以得知我們的配置是正確的。

使用PHP上傳文件

配置"php.ini"文件

sudo vim /etc/php.ini

如果不知道php.ini文件在哪里,請執(zhí)行命令:

php -i | grep "Loaded Configuration File"

設置:

file_uploads = On

重啟PHP服務:

sudo service php-fpm restart

/usr/share/nginx中創(chuàng)建HTML表單upload.php

 50000000) {
        array_push($errorMsg, "Sorry, your file is too large. It must be smaller than 50M.");
        $uploadOk = 0;
    }
    
    // 判斷是否是支持的格式
    if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) {
        array_push($errorMsg, "Sorry, only JPG, JPEG, PNG & GIF files are allowed.");
        $uploadOk = 0;
    }
    
    // 是否上傳成功,有沒有遇到內(nèi)部錯誤
    if (!move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file_unique)) {
        array_push($errorMsg, "Sorry, there was an error uploading your file.");
        $uploadOk = 0;
    }
}

// 如果有錯誤,則將錯誤信息全部返回到客戶端
$errorMsgOutput = '';
foreach($errorMsg as $msg){
    $errorMsgOutput = $errorMsgOutput.$msg;
}

// 返回的是Json格式的內(nèi)容,便于客戶端解析
echo '{"success":"'.($uploadOk == 1 ? 'true': 'false').'","url":"'.$target_file_unique.'","errorMsg":"'.$errorMsgOutput.'"}';

?>

備注:
遇到php報500 Server internal error錯誤怎么辦?
在對應的php文件中增加:

ini_set('display_errors', 1);

在.htaccess文件中(如果沒有該文件則手動創(chuàng)建一個空文件)添加:

php_flag display_errors 1

遇到php報move_uploaded_file:failed to open stream: Permission denied in /usr/share/nginx/images 怎么辦?
在對應的php文件中增加:

echo exec('whoami');

比如輸出的是:

www-data

執(zhí)行以下語句賦予權(quán)限(語句中的www-data應該對應whoami的輸出值):

sudo chown www-data /usr/share/nginx/images
sudo chmod 0755 /usr/share/nginx/images

解決跨域的問題

由于是獨立的靜態(tài)文件服務器,所以必定會遇到跨域上傳的問題,可以這樣解決:

第一步:

sudo vim /etc/nginx/conf.d/default.conf

添加以下配置:

location ~ \.(png|gif|jpg|jpeg)$ {
    ...
    ...
    add_header Access-Control-Allow-Origin *; // 添加這一行配置
    ...
    ...
}
第二步:

做Nginx根目錄下添加文件:crossdomain.xml





  

在瀏覽器里直接訪問:http://url/crossdomain.xml訪問該文件,可以正常訪問即可。

以Uplodify為例:

沒有增加跨域配置之前:
Uploadify頁面上會顯示如下錯誤:
修改配置之后,從Fiddle可以看到上傳已經(jīng)成功,返回了正確的Json:

 


網(wǎng)頁名稱:CentOS6(64-bit)+Nginx搭建靜態(tài)文件服務器
網(wǎng)頁路徑:http://www.5511xx.com/article/dpsdeic.html