树莓派搭建LNMP环境

2021.3.3 更新:新版本的 NGINX 和 PHP 安装方法请参考这里

Raspberry Pi的固件有很多,我安装的是官方的Raspbian。配置ip。然后ssh上去后开始安装。

推荐root权限执行


sudo apt-get update

sudo apt-get install nginx php5-fpm php5-cli php5-curl php5-gd php5-mcrypt php5-mysql php5-cgi mysql-server

首次安装mysql的时候会提示输入密码,密码不要忘记就行了。
接下来我们来配置Nginx,首先打开配置文件,/etc/nginx/nginx.conf ,按照下面的配置进行修改。


worker_processes 1;



worker_connections 256;



gzip on;

gzip_disable "msie6";



gzip_vary on;

gzip_proxied any;

gzip_comp_level 6;

gzip_buffers 16 8k;

gzip_http_version 1.1;

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

接下来打开/etc/nginx/sites-available/default也是按照下面的配置进行修改。


server {

	listen 80;#Web服务端口号,大陆用户可能需要修改为81或8080等

	server_name raspiweb.dyndns.org;

	root /media/usb/www/;



	access_log	/var/log/nginx/localhost.access.log;

	#error_page	404 /404.html;



	if (!-e $request_filename)

	{

		rewrite ^(.*)$ /index.php$1 last;

	}



	location / {

		index  index.html index.htm index.php default.html default.htm default.php;

	}



	location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {

		access_log	off;

		expires	1d;

	}



	location ~ .*\.php(\/.*)*$ {

		fastcgi_split_path_info ^(.+\.php)(/.+)$;

		fastcgi_pass unix:/var/run/php5-fpm.sock;

		fastcgi_index index.php;

		include fastcgi_params;

	}

}

下面是对mysql的调优,打开配置文件/etc/mysql/my.cnf修改以下几处。


[mysqld]

key_buffer = 16k

max_allowed_packet = 1M

thread_stack = 64K

thread_cache_size = 4

query_cache_limit = 1M

default-storage-engine = MYISAM

最后我们来配置php.ini,php-fpm,打开配置文件/etc/php5/fpm/php.ini和/etc/php5/fpm/php-fpm.conf修改以下几处。


memory_limit=16M

process.max=4

重启nginx。

sudo /usr/sbin/nginx -s reload

到这里我们的lnmp环境配置已经大功告成!接下来是安装phpmyadmin到指定目录~这里只讲如何配置lnmp。
via

这是一篇发布于 11年 前的文章,其中的信息可能已经有所发展或是发生改变,请了解。


9 评论

  1. 我按照教程安装在2b上。之后home/pi下新建的www文件夹就没权限了。上传文件为0字节。我是用sftp传输文件。没装lnmp之前正常的。。。

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

    楼上把这段配置加到NGINX配置了吗

  3. 本人超级小白,百度无数后,终于不白屏不变成下载。可以成功解析了。

    server {
    listen 80;
    server_name localhost;
    root /var/www/html/;

    access_log /var/log/nginx/localhost.access.log;
    #error_page 404 /404.html;

    location / {
    index index.html index.htm index.php default.html default.htm default.php;
    }

    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
    access_log off;
    expires 1d;
    }

    location ~ .*\.php(\/.*)*$ {
    root /var/www/html;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }

    • —time: Feb 26 2019—
      补充以下内容:
      当安装的PHP版本为7.0时,
      fastcgi_pass unix:/var/run/php5-fpm.sock;
      应调整为:
      fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
      ———————————————————–
      根据您的代码,在/var/www/html下新建index.php文件,内容如下:

      在浏览器中输入127.0.0.1,返回520 Bad Gateway错误。
      在/var/log/nginx/error.log中发现错误原因:
      connect() to unix:/var/run/php5-fpm.sock failed (No such file or directory)
      至此,方知版本不同,相应地址需要调整。
      再次感谢!

  4. 终于找到了搭建web服务器最有用的文章,成功解析。本人超级小白,百度了3个日日夜夜没成功,安装卸载不停的重复,都是一些坑人的文章(至少我是这么认为),差点没把树莓派扔箱子里吃灰,还好失去信心前找到了这篇教程,15分钟搞定,十分感谢楼主的无私分享,衷心的说声谢谢!

5 Trackback / Pingback

  1. 树莓派搭建LNMP环境 – HitGK
  2. Pi Dashboard:给你的派装一个仪表盘 – 开发狗的小站
  3. Pi Dashboard:给你的派装一个仪表盘 – Unity
  4. 记一次树莓派搭建LNMP+Wordpress实践 – GXNUCETC
  5. Pi Dashboard (Pi 仪表盘) | radio

发表评论

你的邮件地址不会公开


*