一文搞定LNMP环境的搭建
LNMP介绍
LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
先更新服务器
1 | sudo apt-get update # 获取最新资源包 |
安装数据库-MySQL
安装mysql最新版
1 | apt install mysql-server |
安装完后我们直接以空密码登录mysql,如果在安装过程中提示输入密码则使用安装过程中设置的密码。
1 | mysql -uroot -p |
若提示 ERROR 1698 (28000): Access denied for user 'root'@'localhost'
,请看这篇文章
Mysql ERROR 1698 (28000) 解决 - 黑猫警长的怨念
更改mysql数据库root用户的密码。
1 | use mysql; |
开启远程登录
找到mysql的配置文件,/etc/mysql/mysql.conf.d/mysqld.cnf
,找到下面这个,在前面加个#号把它注释掉,然后重启mysql服务service mysql restart
。
1 | #bind-address = 127.0.0.1 |
注意:以前mysql的配置文件为/etc/mysql/my.cnf
,新版的配置文件变成了是/etc/mysql/mysql.conf.d/mysqld.cnf
另外离线安装mysql,可看这篇文章,这样的话可以安装指定的版本,而不是最新版。
https://www.cnblogs.com/JasonTech0713/p/6690949.html
安装phpmyadmin
1 | apt-get install phpmyadmin |
安装Nginx
1 | apt-get install nginx |
编辑Nginx 默认的配置文件/etc/nginx/sites-enabled/default
,做如下修改 。
1 | /etc/init.d/nginx restart #重启Nginx服务 |
安装php
1 | apt-get install php-mysql php-fpm php-curl php-xml php-gd php-mbstring php-memcached php-zip php-gettext |
编辑配置文件/etc/php/7.2/fpm/php-fpm.conf
,在最后面加上这句
1 | listen = /run/php/php7.2-fpm.sock |
再编辑配置文件/etc/php/7.2/fpm/php.ini
,搜索以下值,改成跟下面一样。
1 | display_errors = On |
然后重启服务
1 | service php7.2-fpm restart |
测试
写个phpinfo来测试一下
1 | echo "<?php phpinfo();?>" > /var/www/html/phpinfo.php |
打开浏览器,访问这个文件 http://ip/phpinfo.php,可以看到phpinfo信息显示正常就没有问题了,然后记得删掉这个文件rm /var/www/html/phpinfo.php
这里记录一下我使用的 LANP 版本。
1 | root@0o0:~# uname -a |
部署一个网站-dvwa
打开phpmyadmin管理页面,新增一个用户,并创建名为dvwa
的数据库,如下:
编辑dvwa源码包中的配置文件config.inc.php
然后把文件上传到服务器/var/www/html/
目录中。
再给几个文件改下权限,具体是什么文件,看/dvwa/setup.php
页面。
1 | chmod 777 /var/www/html/dvwa/config/ |
最后访问http://ip/dvwa/,之后按提示操作(创建数据库),更多安装详情,可自行百度。
扩展阅读
Nginx + PHP CGI的一个可能的安全漏洞 - Laruence
原文作者: à ō é
原文链接: https://laoel.github.io/2019/12/04/一文搞定LNMP环境的搭建/
版权声明: 转载请注明出处(必须保留原文作者署名原文链接)