1. 程式人生 > >樹莓派開發系列教程7——樹莓派做web伺服器(nginx、Apache)

樹莓派開發系列教程7——樹莓派做web伺服器(nginx、Apache)

一想到Linux Web伺服器,我們首先想到的是:

Apache + MySql + Php.

Apache:是世界使用排名第一的Web伺服器軟體。

可以執行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web伺服器端軟體.

MySQL:是一個關係型資料庫管理系統,由瑞典MySQL AB公司開發。是最流行的關係型資料庫管理系統,在WEB應用方面MySQL是最好的RDBMS(關係資料庫管理系統)應用軟體之一。

PHP:(外文名: Hypertext Preprocessor,中文名:“超文字前處理器”)是一種通用開源指令碼語言。語法吸收了C語言、Java和Perl的特點,易於學習,使用廣泛,主要適用於Web開發領域。

樹莓派可以安裝這個LAMP系列,但Apache 和 MySql對於樹莓派這個小小的機器,太重了,主要是消耗記憶體多\速度慢\佔用磁碟大(約200M吧),所可以選擇安裝一個輕量級的Web伺服器:

nginx + php + sqlite

nginx:是個輕量級的Web伺服器,是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,上nginx的併發能力確實在同類型的網頁伺服器中表現較好。

SQLite:是一款輕型的資料庫,是遵守ACID的關係型資料庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體就夠了。

Apache + MySql + Php.

1、安裝Apache

Apache可以用下面的命令來安裝
sudo apt-get install apache2

Apache預設路徑是/var/www/

其配置檔案路徑為: /etc/apache2/

可以通過:sudo vi /etc/apache2/ports.conf修改監聽埠號

重啟服務生效:sudo service apache2 restart

2、安裝mysql
sudo apt-get install mysql-server
安裝過程中,會出現一個提示符讓你輸入一個密碼。
這個密碼是mysql root使用者的密碼。

3、安裝PHP
輸入下面的命令,就可以安裝PHP 5,以及PHP訪問mysql資料庫所需要的庫。

sudo apt-get install php5

sudo apt-get install php5-mysql

4、測試

安裝完成後,可以在瀏覽器中輸入你路由器的IP或域名,就可以訪問你的網站了。

你應該能看到一個頁面顯示“It works”,但是沒有其它內容。

建立一個/var/www/index.php

<?php
  print <<< EOT
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test successful</title>
</head>
<body>
<h1>Test successful</h1>
<p>Congratulations.</p>
<p>Your webserver and PHP are working.</p>
</body>
</html>
EOT;

?>


二、nginx + php + sqlite

1、安裝nginx  web伺服器 (約6MB)
sudo apt-get install nginx

2、啟動nginx

sudo /etc/init.d/nginx start

nginx的www根目錄預設在 /usr/share/nginx/www中

3、修改nginx的配置檔案
sudo vi /etc/nginx/sites-available/default

1)以下幾個選項注意一下:

listen   8080;                                             ## listen for ipv4; this line is default and implied

//監聽的埠號,如果與其它軟體衝突,可以在這裡更改

root /usr/share/nginx/www;

//nginx 預設路徑html所在路徑

index index.html index.htm index.php;

//nginx預設尋找的網頁型別,我們可以增加一個index.php

2)PHP指令碼支援(不設這幾項PHP指令碼無法識別)

找到php的定義段,將這些行的註釋去掉 ,修改後內容如下

location ~ .php$ {
 fastcgi_pass unix:/var/run/php5-fpm.sock;
 fastcgi_index index.php;
 include fastcgi_params;
}

php段中有一些其它定義,不要去動它,比如:
#      fastcgi_split_path_info ...
#      fastcgi_pass 127.0.0.1:9000

4)安裝php和sqlite(約3MB)
sudo apt-get install php5-fpm php5-sqlite

5)重新載入nginx的配置
sudo /etc/init.d/nginx reload


6)測試html

通過主機的IE訪問樹莓派,可以看到主頁(表示Web伺服器已正常啟動)


7)測試php

在樹莓派中生成一php檔案

sudo vi /usr/share/nginx/www/index.php

在檔案中輸入以下內容

<?php
  print <<< EOT
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test successful</title>
</head>
<body>
<h1>Test successful</h1>
<p>Congratulations.</p>
<p>Your webserver and PHP are working.</p>
</body>
</html>
EOT;

?>

存檔退出

IE訪問一下這一頁,說明php也是OK的

相關推薦

樹莓開發系列教程7——樹莓web伺服器(nginxApache)

一想到Linux Web伺服器,我們首先想到的是: Apache + MySql + Php. Apache:是世界使用排名第一的Web伺服器軟體。 可以執行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web伺服器端軟體. MySQL:是一

樹莓web伺服器(nginxApache)

一想到Linux Web伺服器,我們首先想到的是: Apache + MySql + Php. Apache:是世界使用排名第一的Web伺服器軟體。 可以執行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web伺服器端軟體. M

樹莓開發系列教程9——樹莓GPIO控制

一、常用開源工程簡介     樹莓派核心中已經編譯自帶了gpio的驅動,我們常通過一些第三方寫好的庫函式來完成具體的操作,比較常見的操作庫函式有: 1、python GPIO     【開發語言】——python     【簡單介紹】——樹莓派官方資料中推薦且容易上手。py

樹莓開發系列教程10——樹莓spi液晶屏支援(fbtft)

    樹莓派官方支援av及HDMI輸出,板子上預留了一個csi介面的液晶顯示屏,但是一直沒有相應的模組出現。在很多應用場合我們需要一些小型的液晶屏顯示一些基本的資訊,所以小屏驅動很是必要。     在github上有一個開源工程:notro/fbtft,完整的實現了framebuffer驅動,讓樹莓派完美

樹莓開發系列教程1——樹莓介紹

1、樹莓派是什麼?         Raspberry Pi(中文名為“樹莓派”,簡寫為RPi,或者RasPi/RPi)是為學生計算機程式設計教育而設計,只有信用卡 大小的卡片式電腦,其系統基於Linux。         樹莓派由註冊於英國的慈善組織“Raspberry

樹莓開發系列教程——樹莓wifi熱點

原理:Pi使用有線連入網路,然後接USB無線網絡卡作為熱點,提供Wifi接入。 1、USB無線網絡卡驅動 如果接上USB無線網絡卡,使用ifconfig命令,能直接看到wlan0,那麼恭喜你,可以直接跳過這一步。 如果沒有請查詢一下樹莓派支援的USB無線網絡卡型號,可參考以下網址: http://

樹莓學習系列8——使用樹莓上的GPIO介面

前言 通過前面對GPIO基礎知識的學習,我想都想實踐實踐了,那麼接下來就進行幾個小程式的編寫。 LED閃燈 材料準備 1.一個麵包板 2.兩根杜邦線(一公一母) 3.一個LED 4.一個330歐

Python+Django+SAE系列教程7-----在Sae上配置Django

說明 water 系列教程 font cati 代碼 目錄 教程 本地 本章的開始首先我們來註冊一個sae賬號,首先登錄http://sae.sina.com.cn/。進入登錄頁面,這裏須要一個新浪微博賬號進行註冊。假設沒有趕快去註冊一個吧。 登錄平臺後。會提示一

【前端】CentOS 7 系列教程之五: 安裝最新版 nginx 並設置 nginx 代理轉發 node 服務

con config get http ati sha cal 安裝 pre 轉載請註明出處:http://www.cnblogs.com/shamoyuu/p/linux_5.html 進入/usr/local目錄 cd /usr/local 下載最新

適合0基礎的web開發系列教程-教程概述

技術支持 www zip 就會 通過 b站 tst markup 在線 教程概述 各位網友大家好,我是夜鷹教程網的湯老師,從今天開始,我準備寫一套web前端開發的教程。 適合0基礎的朋友,從最簡單的html開始。 力爭做到學完全套教程能在IT行業就業的水平。 特別適

微信程序開發系列教程(二)使用JavaScript給微信用戶發送消息

邏輯 XML web UNC 百度 ava subscribe 程序開發 內容 我之前的文章 微信程序開發系列教程(一)開發環境搭建 介紹了微信開發環境的搭建,這篇文章我們就來一步步開發一些具體的功能。 功能需求:當有微信用戶關註了您的公眾號之後,您用JavaScript發

cocos2d x遊戲開發系列教程 坦克大戰遊戲之子彈的碰撞檢測處理

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d x遊戲開發系列教程 坦克大戰遊戲之虛擬手柄控制坦克移動

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d x遊戲開發系列教程 中國象棋03 主介面

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d x遊戲開發系列教程 坦克大戰遊戲之坦克和地圖碰撞的檢測上

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d x遊戲開發系列教程 坦克大戰遊戲之敵方坦克AI的編寫

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d-x遊戲開發系列教程-中國象棋05-開始遊戲

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d-x遊戲開發系列教程-中國象棋04-擺棋

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

android開發系列教程(一)啟動頁

1.啟動頁延時跳轉+沉浸狀態列+啟動頁圖片全屏 public class SplashActivity extends AppCompatActivity { @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)

Go 系列教程-7 面向物件

Go 系列教程 —— 26. 結構體取代類   Go 支援面向物件嗎? Go 並不是完全面向物件的程式語言。Go 官網的 FAQ 回答了 Go 是否是面嚮物件語言,摘錄如下。 可以說是,也可以說不是。雖然 Go 有型別和方法,支援面向物件的程式設