树莓派研究笔记(2)-- 安装Nginx 服务器,PHP 和 SQLite

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 

posted on 2017-04-24 13:40  程晨  阅读(3677)  评论(0编辑  收藏  举报

导航