在Debian 7上安装Linux、Nginx、MySQL、PHP(LEMP)堆栈的方法

embedded/2024/12/23 20:00:24/

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

Lemp Stack: 基本信息

LEMP stack 是一组开源软件,用于快速搭建虚拟专用服务器(VPS)。这个缩写包括了传统的 LAMP stack 中的 Linux(L)、MySQL(M)和 PHP(P),但是将 Apache 替换为 Nginx(发音为 engine x)。

本教程将解释如何安装 nginx/MySQL/PHP-fpm,以及下载 nginx 和 php-fpm 所需的所有仓库。它还将介绍如何配置 php 和 nginx,以及如何创建一个 php 信息页面。

1) 更新 Apt-Get

apt-get update 命令用于重新同步软件包索引文件。如果与 apt-get upgrade 命令一起使用,它们将安装当前可用的所有软件包的最新版本。

目前,我们只需要进行彻底的更新:

sudo apt-get update

2) 在您的 VPS 上安装 MySQL

MySQL 是一个强大的数据库管理系统,用于组织和检索数据。

要安装 MySQL,请打开终端并输入以下命令:

sudo apt-get install mysql-server

在安装过程中,MySQL 会要求您设置 root 密码。如果在程序安装时错过设置密码的机会,稍后在 MySQL shell 中设置密码非常容易。

安装完 MySQL 后,我们应该使用以下命令激活它:

sudo mysql_install_db

然后运行 MySQL 设置脚本:

sudo /usr/bin/mysql_secure_installation

提示将要求您输入当前的 root 密码。输入密码。

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

提示将询问您是否要更改 root 密码。继续选择 N 选项,因为 root 密码应该已经设置;但是,对于其余的问题,除非有其他原因,否则您可以简单地回答 Y。

现在让我们安装 nginx

3) 在您的 VPS 上安装和配置 Nginx

安装

使用 apt-get 命令进行初始安装非常简单。

sudo apt-get install nginx

nginx 需要一个命令来开始运行:

sudo service nginx start

现在,如果您将浏览器指向您的 IP 地址,它应该确认 nginx 已成功安装在您的云服务器上。

  • 运行以下命令以显示您的 VPS 的 IP 地址。
ifconfig eth0 | grep inet | awk '{ print $2 }'

配置

使用以下命令打开默认虚拟主机文件:

sudo nano /etc/nginx/sites-available/default

配置应包括以下更改(更改的详细信息在配置信息下):

更新: 较新的 Ubuntu 版本默认创建一个名为 ‘html’ 的目录,而不是 ‘www’。如果 /usr/share/nginx/www 不存在,则可能称为 html。确保您相应地更新您的配置。

[...]
server {listen   80;root /usr/share/nginx/www;index index.php index.html index.htm;server_name example.com;location / {try_files $uri $uri/ /index.html;}error_page 404 /404.html;error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/www;}# pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.socklocation ~ \.php$ {try_files $uri =404;fastcgi_pass unix:/var/run/php5-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}}
[...]

以下是更改的详细信息:

  • 将 index.php 添加到 index 行。
  • 将 server_name 从本地主机更改为您的域名或 IP 地址(在配置中替换 example.com)。
  • 更改 “location ~ .php$ {” 部分中的正确行。

保存并退出。

4) 安装和配置 PHP

安装

您可能已经猜到了!我们将使用 apt-get 命令安装 PHP-FPM:

sudo apt-get install php5-fpm php5-mysql

配置

我们需要在 php 配置中进行一点小改动。打开 php.ini:

sudo nano /etc/php5/fpm/php.ini

找到行 cgi.fix_pathinfo=1,将 1 更改为 0。

cgi.fix_pathinfo=0

如果保持此数字为 1,php 解释器将尽其所能处理尽可能接近请求文件的文件。这是一个可能的安全风险。相反,如果将此数字设置为 0,解释器将仅处理确切的文件路径—这是一个更安全的选择。

保存并退出。

我们需要在 php5-fpm 配置中进行另一个小改动。打开 www.conf:

sudo nano /etc/php5/fpm/pool.d/www.conf

找到行,listen = 127.0.0.1:9000,并将 127.0.0.1:9000 更改为 /var/run/php5-fpm.sock。

listen = /var/run/php5-fpm.sock

保存并退出。

重新启动 php-fpm:

sudo service php5-fpm restart

5) 创建一个 Php 信息页面

我们可以快速查看新 php 配置的所有细节。

要设置这个,首先创建一个新文件:

sudo nano /usr/share/nginx/www/info.php

添加以下行:

<?php
phpinfo();
?>

然后保存并退出。

完成

重新启动 nginx

sudo service nginx restart

您可以通过访问 http://youripaddress/info.php 查看 nginx 和 php-fpm 配置的详细信息。

您的 LEMP stack 现在已在您的虚拟专用服务器上设置和配置好 😃


http://www.ppmy.cn/embedded/104619.html

相关文章

LeetCode 第413场周赛个人题解

目录 3274. 检查棋盘方格颜色是否相同 原题链接 思路分析 AC代码 3275. 第 K 近障碍物查询 原题链接 思路分析 AC代码 3276. 选择矩阵中单元格的最大得分 原题链接 思路分析 AC代码 3277. 查询子数组最大异或值 原题链接 思路分析 AC代码 3274. 检查棋盘方格颜色…

统计学第5天

要观察性别和在线上买不买生鲜食品有没有关系&#xff0c;在现实生活中&#xff0c;女性通常去菜市场买菜的比较多&#xff0c;那么在线下是不是也是这样呢&#xff1f; 卡方统计量 如果研究的是两个类别变量&#xff0c;每个变量有多个类别&#xff0c;通常将两个变量多个类别…

【实用干货】5大自动化测试的Python框架!

自从2018年被评选为编程语言以来&#xff0c;Python在各大排行榜上一直都是名列前茅。 目前&#xff0c;它在Tiobe指数中排名第三个&#xff0c;仅次于Java和C。随着该编程语言的广泛使用&#xff0c;基于Python的自动化测试框架也应运而生&#xff0c;且不断发展与丰富。 因…

分布式事务Seata

分布式事务介绍 举个例子&#xff0c;商城系统&#xff0c;订单、购物车、商品分别在三个不同的微服务&#xff0c;而每个微服务都有自己独立的数据库&#xff0c;因此下单过程中就会跨多个数据库完成业务。而每个微服务都会执行自己的本地事务&#xff1a; 交易服务&#xf…

java 根据给定的子网掩码和网关计算起始IP和结束IP

java 根据给定的子网掩码和网关计算起始IP和结束IP 以下是一个Java工具类&#xff0c;用于根据给定的子网掩码和网关计算起始IP和结束IP。 import java.net.InetAddress; import java.net.UnknownHostException;public class IPUtils {public static void main(String[] args…

华为OD机试真题 - 数组合并(Python/JS/C/C++ 2024 E卷 100分)

一、题目描述 现在有多组整数数组,需要将他们合并成一个新的数组。 合并规则从每个数组里按顺序取出固定长度的内容,合并到新的数组,取完的内容会删除掉。 如果改行不足固定长度,或者已经为空,则直接取出剩余部分的内容放到新的数组中继续下一行。 二、输入描述 第一…

数据库课程设计mysql

一、项目背景与需求分析 1.1 项目背景 假设我们需要为一个名为“智慧校园”的系统设计数据库。该系统旨在整合校园内的各种资源&#xff0c;包括学生信息、教职工信息、课程信息、成绩管理、图书借阅、食堂消费等&#xff0c;以提高校园管理的效率和便捷性。 1.2 需求分析 …

三分钟总结开源流程表单的优势特点

实现流程化办公&#xff0c;可以借助低代码技术平台、开源流程表单的优势特点。作为当前较为理想的平台产品&#xff0c;低代码技术平台凭借够灵活、好操作、可视化界面的优势特点&#xff0c;得到了通信业、医疗、高校等很多行业客户朋友的喜爱与支持。今天一起来看看开源流程…