Debian配置LNMPR


使用MariaDB替代MySQL,配置LNMP(Linux + Nginx + MariaDB + PHP)的步骤,下面是一个简化版的指南:

安装必要的软件包:

使用apt-get命令安装Nginx、MariaDB和PHP-FPM。在终端中运行以下命令:

sudo apt update
sudo apt install nginx mariadb-server php-fpm php-mysql -y

注意,我们使用mariadb-server代替mysql-server,而PHP模块仍然是php-mysql,因为PHP使用这个模块与MariaDB通信。

配置Nginx:

这一步与之前的指南相同。编辑Nginx的默认站点配置文件/etc/nginx/sites-available/default,添加或修改location /块,然后重新加载Nginx配置。

配置MariaDB数据库:

在MariaDB首次安装后,需要执行安全安装脚本。运行以下命令:

sudo mysql_secure_installation

这个脚本会引导您设置root密码、删除匿名用户、禁止root远程登录等。根据您的需求进行配置。

然后,您可以登录到MariaDB控制台,创建一个数据库和用户,并为其分配权限:

sudo mysql -u root -p

在MariaDB提示符下,执行以下SQL命令:

CREATE DATABASE yourdatabase;
GRANT ALL PRIVILEGES ON yourdatabase.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword';
FLUSH PRIVILEGES;
EXIT;

请记得将yourdatabase、yourusername和yourpassword替换为您自己的值。

配置PHP:

这一步与之前的指南相同。编辑php.ini文件,根据需要调整设置,然后保存并关闭文件。

测试LNMP配置:

创建一个简单的PHP页面来测试配置。在Web根目录下创建一个名为info.php的文件,并输入PHP的phpinfo()函数。然后,通过浏览器访问该文件来查看PHP信息页面。

以上步骤应该能帮助您在Debian系统上配置LNMP环境,但使用MariaDB作为数据库服务器。请确保根据您的具体需求调整配置和设置。

LNMP的管理

使用systemctl方式管理LNMP环境中的服务也是常见的做法。在基于systemd的系统中(如最新的Debian、Ubuntu等发行版),您可以使用systemctl命令来启动、停止、重启和查看服务状态。

以下是使用systemctl命令管理LNMP环境中各个组件的方法:

Nginx
启动:sudo systemctl start nginx
关闭:sudo systemctl stop nginx
重启:sudo systemctl restart nginx
查看状态:sudo systemctl status nginx

MariaDB
启动:sudo systemctl start mariadb
关闭:sudo systemctl stop mariadb
重启:sudo systemctl restart mariadb
查看状态:sudo systemctl status mariadb

PHP-FPM
PHP-FPM的服务名可能因安装方式和版本而异。常见的服务名有php7.x-fpm(其中x是PHP版本号)。
启动:sudo systemctl start php7.x-fpm
关闭:sudo systemctl stop php7.x-fpm
重启:sudo systemctl restart php7.x-fpm
查看状态:sudo systemctl status php7.x-fpm

如果service方式(不推荐)

在LNMP环境中,可以使用以下命令来管理、启动、关闭和重启各个组件:

Nginx
启动:sudo service nginx start
关闭:sudo service nginx stop
重启:sudo service nginx restart
查看状态:sudo service nginx status

MariaDB
启动:sudo service mariadb start
关闭:sudo service mariadb stop
重启:sudo service mariadb restart
查看状态:sudo service mariadb status

PHP-FPM
启动:sudo service php-fpm start
关闭:sudo service php-fpm stop
重启:sudo service php-fpm restart
查看状态:sudo service php-fpm status

debian 防火墙设置

默认是没有安装防火墙的,需要安装ufw

防火墙打开!
mysql配置bind绑定不要127.0.0.1而是注释掉,或者绑定0.0.0.0
轻量应用打开防火墙

配置绑定端口(mariadb配置文件):
vim /etc/mysql/mysql.conf.d/mysqld.cnf/50-server.cnf
或者
vim /etc/mysql/mariadb.conf.d/50-server.cnf
注销掉这个文件中的bind-address = 127.0.0.1

然后重启systemctl restart mysqld

redis

安装:sudo apt install redis-server

sudo systemctl status redis-server
sudo systemctl stop redis-server
sudo systemctl start redis-server

安装phpredis拓展:sudo apt install redis-server

sudo systemctl status redis-server
sudo systemctl stop redis-server
sudo systemctl start redis-server

确保有phpize -v,如果没有,则安装:sudo apt-get install php7.4-dev

php-dev
php5-dev
php5.6-dev
php7.0-dev
php7.1-dev
php7.2-dev
php7.4-dev

下载phpredis源码包git clone https://github.com/phpredis/phpredis.git
复制或移到etc目录:sudo cp -a phpredis /etc/

cd /etc/phpredis
phpize
./configure
sudo make
sudo make install

至此扩展就安装完成了

修改php配置文件找到php.ini
通过php -i | grep php.ini或者在代码中echo phpinfo()来获取php.ini位置
在php.ini中添加一行

extension=/etc/phpredis/modules/redis.so

保存退出, 重启 php-fpm, 重启nginx

systemctl restart php7.4-fpm
systemctl restart nginx

原文链接:https://blog.yongit.com/note/1573038.html