1. 安裝nginx web 服務器
sudo apt-get install nginx
2. 啟動nginx,nginx的www目錄默認在/usr/share/nginx/html中
sudo /etc/init.d/nginx start
3. 修改nginx的配置文件,發現沒有權限。先激活root賬號
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.
輸入上面第一行代碼 第二行是提示錯誤的代碼
原因是 新版本ssh默認關閉root登陸 你可以修改一下ssh的配置文件
pi@raspberrypi:~$ sudo nano /etc/ssh/sshd_config
搜索 PermitRootLogin without-password
修改 PermitRootLogin without-password 為 PermitRootLogin yes
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