树莓派搭建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

wattson进行回复 取消回复

你的邮件地址不会公开


*