樹莓派研究筆記(2)-- 安裝Nginx 服務器,PHP 和 SQLite

1. 安裝nginx web 服務器php

sudo apt-get install nginxhtml

2. 啓動nginx,nginx的www目錄默認在/usr/share/nginx/html中nginx

sudo /etc/init.d/nginx startweb

3. 修改nginx的配置文件,發現沒有權限。先激活root帳號sql

pi@raspberrypi:~$ sudo passwd root
Enter new UNIX password:   #輸入第一遍密碼
Retype new UNIX password:  #輸入第二遍密碼

// 啓用 root 帳號登陸 瀏覽器

pi@raspberrypi:~$ sudo passwd --unlock root
passwd: password expiry information changed.

輸入上面第一行代碼 第二行是提示錯誤的代碼bash

緣由是 新版本ssh默認關閉root登錄 你能夠修改一下ssh的配置文件服務器

pi@raspberrypi:~$ sudo nano /etc/ssh/sshd_config

搜索 PermitRootLogin without-passwordssh

修改 PermitRootLogin without-password 爲 PermitRootLogin yesphp-fpm

Ctrl + O 快捷鍵 保存。

使用屏幕下方的快捷鍵提示,能夠退出編輯。

執行完以後,用 sudo reboot 命令重啓,這樣就能夠解鎖root帳戶。

重啓後,註銷當前PI用戶登陸,並使用root帳號登陸。

4.用root帳號登錄後,用文件管理器找到並修改nginx的配置文件。/etc/nginx/sites-available/default

下面五行,去掉註釋# 符號

        location ~ \.php$ {
           fastcgi_pass    unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_index   index.php; #若是沒有這一行,就不用管
            include         fastcgi_params; #若是沒有這同樣就不用管
         }

注意這裏有個大坑。必定要注意server標記結尾括號要把上面的代碼包含進來。我開始沒有注意到,重啓服務就報錯。

"fastcgi_pass" directive is not allowed here in/etc/nginx/sites-enabled/default~:68.

大概是下面的這個樣子: server的結尾括號,還有 Location ~\.php 前面的#號。這都是坑啊。

server {

        location / {
                root   /usr/share/nginx/www; #路徑地址可能不同,好比/var/www/html
                index  index.php index.html index.htm;
        }

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

}

5. 安裝 PHP 和 SQL

 sudo apt-get install php5-fpm php5-sqlite php5

6.從新加載nginx的配置 
sudo /etc/init.d/nginx reload 

測試php 
在樹莓派中生成一php文件 
sudo vi /usr/share/nginx/www/index.php 
<?php 
 echo 「welcome to php」 
?> 
存盤退出 
瀏覽器中訪問這一頁,說明php也是OK的, 若是測試失敗,就停掉nginx,從新開啓

sudo /etc/init.d/nginx stop

sudo /etc/init.d/nginx start 

相關文章
相關標籤/搜索