我们一直在努力

搬瓦工vps如何手动在 Ubuntu 18.04 上安装 LNMP/LEMP 建站环境

LEMP 建站环境是一种常见的建站环境组合,包括 Linux、NGINX、MariaDB 和 PHP,用于开发和托管 Web 应用程序。因为 NGINX 发音为“engine-x”,所以我们一般也将其简称为“E”,从而缩写为 LEMP,但是在国内我们更习惯于直接缩写为 N,也就是 LNMP 建站环境。为了方便起见,下面都统一称作 LNMP。本文介绍 LNMP 建站环境的手动配置方法,如果不想手动配置,也可以直接使用 LNMP 一键包或者是宝塔面板进行搭建。

与之相对,LAMP(Linux、Apache、MariaDB 和 PHP)也是一种流行的服务器配置。

一、准备工作

1、准备一个 debian/Ubuntu 系统

在 Debian 或 Ubuntu 上运行的系统。 也可以使用其他采用 APT 包管理器的 Linux 发行版。

2、连接到搬瓦工 SSH

其次我们需要通过 SSH 连接到搬瓦工 VPS,然后才能进行一系列操作。

3、更新系统

sudo apt update && sudo apt upgrade

二、安装 NGINX 教程

安装 NGINX 很简单:

sudo apt install nginx

三、安装 MariaDB 教程

MariaDB 是 MySQL 的一个流行分支,它的开发被认为比 MySQL 更加开放和透明。MariaDB 使用与 MySQL 相同的命令进行管理。

1、安装 MariaDB 服务器和 MySQL/MariaDB-PHP 支持

sudo apt install mariadb-server php-mysql

2、登录到 MariaDB 的 SQL shell

sudo mysql -u root

数据库不会提示您输入密码,因为它最初配置为使用 unix_socket 授权插件。只要您从 localhost 上的 Linux root 用户进行连接,此授权方案就允许您登录到数据库的 root 用户:

SELECT user,host,authentication_string,plugin FROM mysql.user;

输出如下:

+------+-----------+-----------------------+-------------+
| user | host      | authentication_string | plugin      |
+------+-----------+-----------------------+-------------+
| root | localhost |                       | unix_socket |
+------+-----------+-----------------------+-------------+
1 row in set (0.00 sec)

您可以继续为 root 用户使用 unix_socket 插件;这被认为是生产系统的安全选项,某些 Ubuntu 维护脚本正常运行需要它。

3、创建具有访问权限的测试数据库和用户。用适合您的设置的名称替换 testdb 和 testuser。 用强密码替换 password

CREATE DATAbase testdb;
CREATE USER 'testuser' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';

4、退出 SQL shell

quit

5、使用 mysql_secure_installation 工具配置其他安全选项。此工具会询问您是否要为 MariaDB 根用户设置新密码,但您可以跳过该步骤。

sudo mysql_secure_installation

在以下提示下输入 Y 即可:

  • Remove anonymous users?
  • Disallow root login remotely?
  • Remove test database and access to it?
  • Reload privilege tables now?

四、安装 PHP 教程

安装 PHP 相对来说也比较简单。

1、安装 PHP FastCGI 处理管理器(PHP FastCGI Processing Manager),其中包括核心 PHP 依赖项。

sudo apt install php-fpm

2、设置 PHP 只接受服务器上实际存在的文件的 URI。这减轻了一个安全漏洞,如果请求的 .php 文件不存在于文件系统中,则 PHP 解释器可能会被欺骗以允许任意代码执行。

sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php/7.2/fpm/php.ini

五、设置 NGINX 站点配置文件

接下来就要开始配置 NGINX 站点配置文件了。

1、创建网站内容所在的根目录。将 example.com 替换为您站点的域。

sudo mkdir -p /var/www/html/example.com/public_html

2、为您的站点创建默认配置文件的副本

sudo cp /etc/nginx/sites-enabled/default /etc/nginx/sites-available/example.com.conf

3、在文本编辑器中打开新的 example.com 配置文件。使用示例内容创建配置文件,将文件名和文件内容中的 example.com 替换为您的域:

文件位置:/etc/nginx/sites-available/example.com.conf

示例内容:

server {
    listen         80;
    listen         [::]:80;
    server_name    example.com www.example.com;
    root           /var/www/html/example.com/public_html;
    index          index.html;

    location / {
      try_files $uri $uri/ =404;
    }

    location ~* \.php$ {
      fastcgi_pass unix:/run/php/php7.2-fpm.sock;
      include         fastcgi_params;
      fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
      fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }
}

其中的 server 的具体配置项介绍如下:

  • NGINX 正在侦听端口 80 以获取到 example.com 或 www.example.com 的传入连接。
  • 该站点由 /var/www/html/example.com/public_html 提供,其索引页(index.html)是一个简单的 .html 文件。如果您的索引页面将像 WordPress 一样使用 PHP,请将 index.html 替换为 index.php
  • try_files 告诉 NGINX 在进一步处理请求之前验证请求的文件或目录是否确实存在于站点的根文件系统中。如果没有,则返回 404
  • location ~* \.php$ 意味着 NGINX 会将此配置应用于站点根目录中的所有 .php 文件(文件名不区分大小写),包括任何包含 PHP 文件的子目录。
  • ~* \.php$ 位置指令中的 * 表示 PHP 文件名不区分大小写。如果您更喜欢强制使用字母大小写,则可以将其删除。
  • fastcgi_pass 指定 PHP 侦听来自其他本地进程的传入连接的 UNIX 套接字。
  • include fastcgi_params 告诉 NGINX 处理 /etc/nginx/fastcgi_params 中的 fastcgi_param 变量列表。
  • fastcgi_param 指令包含 NGINX 调用时要提供的 PHP 脚本的位置(相对于站点的根目录)和文件命名约定。

4、从启用站点的目录中创建指向您的网站配置文件的链接。将文件名更改为您用于域的名称。

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

六、启用防火墙

如果您在服务器上配置了 UFW,请启用防火墙以允许网站流量。

1、检查为 Nginx Full 配置文件启用的端口

sudo ufw app info "Nginx Full"

端口 80 和 443 应该会被列出。

2、如果不允许使用这些端口,请使用以下命令启用它们:

sudo ufw allow in "Nginx Full"

七、测试 LNMP 安装是否成功

1、为确保您的域名可以访问您的 VPS 服务器,请将您的域的 DNS 记录配置为指向您的搬瓦工的 IP 地址。

2、重启 PHP 并重新加载 NGINX 配置:

sudo systemctl restart php7.2-fpm 
sudo nginx -s reload

3、测试 NGINX 配置:

sudo nginx -t

4、创建一个测试页面来验证 NGINX 可以运行 PHP 并连接到 MariaDB 数据库。将“testuser”和“password”字段替换为您在上面创建的 MariaDB 凭据。

文件地址:/var/www/html/example.com/public_html/test.php

示例内容:

<html> 
<head> 
  <h2>LEMP Stack Test</h2> 
</head> 
<body> 
  <?php echo '<p>Hello,</p>'; 

  // Define PHP variables for the MySQL connection.  
  $servername = "localhost"; 
  $username = "testuser"; 
  $password = "password"; 

  // Create a MySQL connection.  
  $conn = mysqli_connect($servername, 
  $username, $password); 

  // Report if the connection fails or is successful.  
  if (!$conn) { 
    exit('<p>Your connection has failed.<p>' . mysqli_connect_error()); 
  } 
  echo '<p>You have connected successfully.</p>'; 
  ?> 
</body> 
</html>

5、在 Web 浏览器中访问 http://example.com/test.php,它应该显示您已成功连接。

bandwagonhost 标签的文章" target="_blank">bandwagonhostnet_lemp_test-1024x493-1" src="https://www.52pchome.com/wp-content/uploads/2021/10/bandwagonhostnet_lemp_test-1024x493-1.jpg" alt="bandwagonhostnet_lemp_test-1024x493-1" width="1024" height="493" srcset="https://www.52pchome.com/wp-content/uploads/2021/10/bandwagonhostnet_lemp_test-1024x493-1.jpg 1024w, https://www.52pchome.com/wp-content/uploads/2021/10/bandwagonhostnet_lemp_test-1024x493-1-780x376.jpg 780w, https://www.52pchome.com/wp-content/uploads/2021/10/bandwagonhostnet_lemp_test-1024x493-1-768x370.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" />

如果您看到错误消息或根本无法加载页面,请重新检查您的配置。如果您的 DNS 更改尚未生效,您可以使用 curl 来测试您的页面:

curl -H "Host: example.com" http://<your-ip-address>/test.php

一般输出如下:

<html> 
<head> 
  <h2>LEMP Stack Test</h2> 
</head> 
<body> 
  <p>Hello,</p><p>You have connected successfully.</p></body> 
</html>

6、一旦建站环境正常工作,删除测试文件:

sudo rm /var/www/html/example.com/public_html/test.php

bwh81 1搬瓦工VPS如何手动在 Ubuntu 18.04 上安装 LNMP/LEMP 建站环境 3" srcset="https://www.52pchome.com/wp-content/uploads/2019/08/bwh81-1-780x384.png 780w, https://www.52pchome.com/wp-content/uploads/2019/08/bwh81-1-768x378.png 768w, https://www.52pchome.com/wp-content/uploads/2019/08/bwh81-1-1536x756.png 1536w, https://www.52pchome.com/wp-content/uploads/2019/08/bwh81-1.png 1903w" sizes="(max-width: 780px) 100vw, 780px" />

搬瓦工优惠码 标签的文章" target="_blank">搬瓦工优惠码:BWH3HYATVBJW,优惠6.58%,全场可用

搬瓦工CN2 GIA 标签的文章" target="_blank">美国 cn2 gia、日本软银,荷兰AS9929,2.5~10Gbps带宽

内存 CPU SSD 流量 带宽 价格 购买
1G 2核 20G 1.0T/月 2.5G $50/季 链接
2G 3核 40G 2.0T/月 2.5G $90/季 链接
4G 4核 80G 3.0T/月 2.5G $57/月 链接
8G 6核 160G 5.0T/月 5.0G $87/月 链接
16G 8核 320G 8.0T/月 10G $160/月 链接
32G 10核 640G 10.0T/月 10G $290/月 链接
64G 12核 1280G 12.0T/月 10G $550/月 链接

搬瓦工香港机房 标签的文章" target="_blank">搬瓦工香港机房VPS,1Gbps cn2 gia

内存 CPU 硬盘 流量 价格 购买
2G 2核 40G 500G/月 $90/月 链接
4G 4核 80G 1.0T/月 $156/月 链接
8G 6核 160G 2.0T/月 $300/月 链接
16G 8核 320G 4.0T/月 $590/月 链接

搬瓦工美西CN2 GT VPS 标签的文章" target="_blank">CN2 GT VPS

搬瓦工美西cn2 gt vps测试IP:65.49.215.48

内存 CPU SSD 流量 带宽 价格 购买
1G 1核 20G 1.0T/月 1G $50/年 链接
2G 1核 40G 2.0T/月 1G $100/年 链接
4G 2核 80G 3.0T/月 1G $60/季 链接
8G 2核 160G 5.0T/月 1G $40/月 链接
16G 3核 320G 8.0T/月 1G $80/月 链接
16G 3核 320G 12T/月 1G $100/月 链接
16G 3核 320G 16T/月 1G $130/月 链接

搬瓦工网络测试

  • 美国 cn2 gia:162.244.241.103\104\105\106\107
  • 日本软银:185.212.59.148\149\150\151\152
  • 荷兰联通:104.255.65.1、104.255.64.1、104.255.66.1
  • 香港CN2 GIA 标签的文章" target="_blank">香港CN2 GIA:93.179.124.167\168\169\170\171\172
博客声明与版权说明
重要声明
内容性质说明
本博客专注于记录博主个人对服务器产品的测评体验与相关优惠资讯,不从事任何主机、服务器租赁业务,不参与任何交易,亦非中介机构。博客所载信息均来源于网络公开渠道或服务商主动提供,仅供个人记录与交流之用。
免责声明
本博客对所刊载内容不作任何明示或默示的保证(包括但不限于准确性、完整性、时效性),内容不构成任何购买、使用建议或引导。访问者请自行甄别信息,独立作出判断并承担相应风险。
合规使用要求
访问本博客请严格遵守中华人民共和国及所在地区有关互联网的各项法律法规。严禁利用本博客提及的任何内容从事违法违规活动,由此产生的一切法律责任与后果由行为人自行承担。
访问资格
未成年人及不具备独立承担法律责任能力的个人或群体请勿访问本博客。
协议生效
您一旦访问本博客,即视为您已充分阅读、理解并同意接受本声明的全部条款。
版权声明
本站原创内容采用 知识共享 署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议(CC BY-NC-SA 4.0) 进行授权。
转载、引用请注明原文出处与作者信息。
文章名称:《搬瓦工vps如何手动在 Ubuntu 18.04 上安装 LNMP/LEMP 建站环境》
文章链接:https://www.52pchome.com/27535.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。