久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8986|回復: 0
打印 上一主題 下一主題
收起左側

在Raspberry PI 3 上搭建 Typecho + LNMP(Nginx, MySQL) 博客 (附PHP白屏解決方法)

[復制鏈接]
跳轉到指定樓層
樓主
ID:137504 發表于 2016-9-8 19:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在這個博客最終被搭建成功時,我是有許多感慨的。感慨之一,作為一個學機械出身的電子工程師來學linux和搭建簡單的網絡應用,遇到的麻煩也是超級多的,但也是著實有趣。感慨之二,我終于又開始寫博客了,這點以后再說。
第一篇文章,是 [How To] 系列的,感覺也是怪怪的,也許是因為我一直想寫一篇類似“我從哪里來”的短文?
--- 廢話不多說 ---
在3月1號,樹莓派3發布的第二天,我就拿到了PI3,之后便一直沉浸在linux里面;這是我第一次深入地去接觸和了解linux。
在配置的過程中,總是遇到各種各樣的困難,等到最終了解了,解決了,回過頭來看,其實都是一些很簡潔明了的坑。

--- 廢話不多說(1) ---
Front References:
使用樹莓派搭建LNMP服務器,成功運行typecho。
http://www點chinagtd點com/archives/lnmptypecho.html
利用raspberry pi搭建typecho筆記(一) nginx PHP server quick start
http://www點cnblogs點com/kururu/p/3536416.html
如果感興趣,可以先看看這兩篇我主要參考的筆記,整個過程都很清晰明了了。
有人可能會問,大神們的筆記都已經介紹過整個部署過程了,為什么我要寫這篇文章把這個安裝過程再說一遍呢..
“因為用不了!”
我猜測的原因,因為nginx版本更新了,配置文件有變化,所以不能直接按照他們的操作。網上找到的教程都是2014年以前的。
我的系統是: Raspbian Jessie
Linux raspberrypi 4.1.20-v7+ #867 SMP Wed Mar 23 20:12:32 GMT 2016 armv7l GNU/Linux
0 空當然,絕大部分“教程”,在做任何安裝軟件之前,sudo apt-get update 和 速凍凹凸個體奧普鬼 (sudo apt-get upgrade)都是必不可少的。
1 安裝 Nginx,MySQL 和 php 和一些亂七八糟的
1
sudo apt-get install nginx php5-fpm php5-cgi php5-cli php5-curl php5-gd php5-mcrypt php5-mysql php5-memcache php5-gd php5-sqlite php5-cgi php5-xmlrpc mysql-server mysql-client



一路確定,一路yes。就裝完了這三和他們依賴的東東了。具體哪個是干嘛的,看名字就懂,不懂也沒事兒,反正我看不懂。
如果你是第一次裝,千萬別急著去優化配置文件什么的,被那些優化把安裝的節奏亂掉了,人就煩躁了,裝好了想要優化直接看文章最后的幾個安裝筆記。
這時候最應該做的,是在瀏覽器輸入 http://你的樹莓派IP地址 ,看看nginx的初始頁面的樣子,打一下雞血。
白底黑字的真心跟typecho一樣簡潔呢。
注意:
我的nginx 版本為 1.6.2
查看可以使用這個命令
nginx -v
如果你的版本是1.2x 那么直接使用默認配置文件,不會有php白屏問題。不需要按我強調的修改
2 安裝PhpMyAdmin這貨是用來管理數據庫的,安裝完成后,用這貨操作數據庫,給typecho 建立一個用戶名和密碼,這樣typecho就能自己操作數據庫了。安裝過程中,會讓輸入數據庫的密碼,什么的,注意看內容選擇就好。但是很奇怪這貨在安裝的時候沒有nginx的選項,我選的是Apache2,一樣用。
1
sudo apt-get install phpmyadmin



安裝完成后,把它,link一個到 /var/www/html, 也就是新的nginx的默認網頁文件夾,這樣你就可以通過網頁,訪問它了。
1
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin



并且把這個文件夾的權限改成誰都可以讀寫執行,為了后面安裝typecho做準備
1
sudo chmod -R 777 /var/www/html



然后重啟一下
1
2
sudo php5enmod mcrypt
sudo service php5-fpm restart



*注意:
新的nginx(我的版本 1.6.2) 已經將默認網頁目錄放在 /var/www/html 了,如果你是按著老的教程進行的安裝,請忽略他們的關于修改網頁目錄的部分*
再打一下雞血? 在瀏覽器輸入 http://你的樹莓派IP地址/phpmyadmin
應該就能看到phpadmin的登錄界面了,用戶名是root 密碼是你在剛剛安裝的時候輸入的密碼
如果看到的是一個白白白blank page,沒關系,我們需要繼續設置一下nginx的網站配置
3. 配置nginx 網站屬性。為嘛我說配置網站屬性,而不是配置nginx呢?
因為一個nginx是可以跑多個網站的! 而按教程直接去配置 /etc/nginx/nginx.conf 這個全局配置,就是在挖坑給以后的你。千萬在不了解的時候別去動這個文件
nginx 有針對每一個網站的配置文件,在這個文件下面的配置,跟在全局配置是一樣的。這些文件存放在 /etc/nginx/sites-available/ 如果想啟用他們,就在隔壁文件夾/etc/nginx/sites-enable/建立一個鏈接文件,然后就可以啟用了。/etc/nginx/sites-enable下默認已經有了一個鏈接到default的文件。所以我們可以直接修改或者重寫/etc/nginx/sites-available/default 來配置我們的網頁。
這個default也很珍貴,可以先備份一下
1
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.backup



為了偷懶,備份完之后我們把它刪除,然后再新建名稱一樣的配置文件,作為我們網站的配置
1
2
sudo rm -rf /etc/nginx/sites-available/default
sudo nano /etc/nginx/sites-available/default



然后把我的配置放進去
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
server {
      listen 80 default_server;
      root /var/www/html;
      index index.html index.htm index.php;

      server_name aircheese.me;

      location / {
        if (-f $request_filename/index.html){
            rewrite (.*) $1/index.html break;
        }
        if (-f $request_filename/index.php){
            rewrite (.*) $1/index.php;
        }
        if (!-f $request_filename){
            rewrite (.*) /index.php;
        }
    }

    location ~ .*\.php(\/.*)*$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
  }
}



*簡單說一下代碼,第一個location之前,描述的是一些網站的全局配置。
第一個 location 是 typecho 打開永久地址轉換需要的重寫規則。在你后面設置的時候typecho會自動檢測是否可以打開,可能會檢測失敗,你選擇強制打開即可。
第二個 location 是 pathinfo 的支持,對于 typecho 這個是必須有的*
根據你的網頁,有幾個地方是需要修改的
server_name   后面修改成你的域名
root     需要確認是否是你的網站目錄(如果你按我的教程,這個地方應該不用改的)
listen 80     如果你的80端口被封了,你需要按其他教程的改成81或者8080
保存后,重啟nginx服務,就可以使用新的配置了
1
sudo service nginx restart



由于一些列歷史原因,如果你按照之前的配置筆記去配置nginx,那你有很大的幾率會出現上面提到的php頁面是白屏。
而這個原因,是因為上面配置的最后一個語句:include fastcgi.conf; 在幾乎所有的教程里面都使用include fastcgi_params; 。fastcgi_params相比include fastcgi.conf;少了一條路徑的定義。
這部分具體請看: http://stackoverflow點com/questions/15423500/nginx-showing-blank-php-pages
到這里,你可以按其他教程,寫一個info.php 來測試你的網頁是否工作了。
在/var/www/html/ 目錄下創建info.php,復制下面的進去,然后保存。
1
2
3
<?php
phpinfo();
?>



然后瀏覽器訪問 http://你的樹莓派ip地址/info.php 如果出來的不是白網頁,你就可以樂呵呵啦。如果還是白,請參照上面鏈接,棧溢出(stackoverflow)里面的其他解法
4 安裝 typecho還記得我們在 安裝PhpMyAdmin 的時候把 phpmyadmin 鏈接到 /var/www/html里面么? 安裝typecho其實也是一樣的,我們要做的,就是把typecho 下載下來 (http://typecho點org/download),然后解壓縮到html里面。然后通過到地址: http://你的樹莓派IP地址/install.php 就能看到typecho的安裝界面了。
比如,我的typecho下載在 /home/pi/build.tar.gz 我要把它解壓到/var/www/html里面
1
2
cd /var/www/html
tar -xzvf /home/pi/build.tar.gz



然后他們就都到 /var/www/html/build 里面了。那怎么把文件都移動出來呢?進到build里面用 mv ../就可以了。 代表全部文件和文件夾 ../代表上一級目錄
1
2
cd build
mv * ../



然后重啟一下nginx (我不清楚是不是需要重啟)
1
sudo service nginx restart



然后通過到地址: http://你的樹莓派IP地址/install.php 應該就能看到typecho的安裝界面了。
等你看到安裝頁面,這篇文檔也應該結束它滴使命啦

PS:
博客的安裝,和鏈接到數據庫,這篇教程很清楚了。
站長百科:Typecho 安裝教程
http://www點zzbaike點com/wiki/Typecho_%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B
PS(1):
說到數據庫,你也可以建立一個用戶給typecho用,我也推薦這樣。最好不要直接root賬戶。
PS(2):
什么,你沒裝成功?你不干了?想卸載么?別找我,我也不懂怎么卸載那一堆東西,誰叫你開始之前沒有全盤鏡像備份。。
PS(3):
除了在開始之前推薦的兩篇教程以外,其他我覺得很有用的文章
我的樹莓派玩機攻略—搭建nginx+mysql+php(優化參考,開啟gzip,切不可直接復制他的配置文件,不然等著白)
http://blog點chensibo點com/i-work-for-nginx-mysql-php-raiders-build-raspberry-pi/
Raspberry PI樹莓派搭建LNMP環境跑Typecho(年代久遠,僅供參考)
http://raspiweb點ch/post-13.htm/comment-page-2
利用raspberry pi搭建typecho筆記(三) typecho nginx sqlite FAQ(如果遇到錯誤,請參照這篇,不可直接復制他的配置,同樣等白)
http://www點cnblogs點com/kururu/p/3536626.html
Typecho官方文檔有關于nginx的配置,可供參考
http://docs點typecho點org/servers?s\[\]=nginx
PS(4) :
我的default配置,加入了gzip網頁壓縮,修改自 https://loftor點com/archives/typecho_nginx_conf.html 僅供參考。原文的 include fastcgi_params;需要修改為include fastcgi.conf; 即可解決php白問題。
  1. server {
  2.   listen 80 default_server;
  3.   root /var/www/html;
  4.   index index.html index.htm index.php;

  5.   gzip on;
  6.     gzip_min_length 1k;
  7.     gzip_buffers 16 64k;
  8.     gzip_http_version 1.1;
  9.     gzip_comp_level 6;
  10.     gzip_types text/plain application/x-javascript text/css application/xml;
  11.     gzip_vary on;

  12.   server_name aircheese.me;

  13.   location / {
  14.         if (-f $request_filename/index.html){
  15.             rewrite (.*) $1/index.html break;
  16.         }
  17.         if (-f $request_filename/index.php){
  18.             rewrite (.*) $1/index.php;
  19.         }
  20.         if (!-f $request_filename){
  21.             rewrite (.*) /index.php;
  22.         }
  23.     }


  24.   location ~ .*\.php(\/.*)*$ {
  25.     fastcgi_split_path_info ^(.+\.php)(/.+)$;
  26.     fastcgi_pass unix:/var/run/php5-fpm.sock;
  27.     fastcgi_index index.php;
  28.     include fastcgi.conf;
  29.   }
  30. }
復制代碼



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美视频区 | 亚洲欧美在线视频 | 国产超碰人人爽人人做人人爱 | 人人看人人射 | 亚洲综合一区二区三区 | 一区二区三区国产在线观看 | 在线一区 | 日韩精品免费看 | 国产精品国产馆在线真实露脸 | 特级生活片 | www视频在线观看 | 日韩免费av | 精品久久久久久久久久 | 男人亚洲天堂 | 国产精品久久久久久久免费大片 | 99爱免费| 国产精品永久免费视频 | 国产伦精品 | 91精品国产乱码久久久久久久久 | 在线一级片 | av在线免费观看网站 | 天天操天天摸天天干 | 日韩欧美国产一区二区三区 | 亚洲精品久久久久avwww潮水 | 国产精品日韩一区二区 | 中文字幕 在线观看 | 亚洲综合色视频在线观看 | 久久久久久亚洲精品 | 国产传媒视频在线观看 | 中文字幕日韩一区二区 | 久久91精品国产一区二区三区 | 91精品久久久 | 日本黄色激情视频 | 亚洲在线看 | 欧美第一区 | 男人天堂99 | 亚洲成人国产综合 | 国产 欧美 日韩 一区 | 国产目拍亚洲精品99久久精品 | 人人鲁人人莫人人爱精品 | 日本aa毛片a级毛片免费观看 |