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、更新系统,安装 NGINX 很简单:,MariaDB 是 MySQL 的一个流行分支,它的开发被认为比 MySQL 更加开放和透明。MariaDB 使用与 MySQL 相同的命令进行管理。,1、安装 MariaDB 服务器和 MySQL/MariaDB-PHP 支持,2、登录到 MariaDB 的 SQL shell,数据库不会提示您输入密码,因为它最初配置为使用 unix_socket
授权插件。只要您从 localhost 上的 Linux root 用户进行连接,此授权方案就允许您登录到数据库的 root 用户:,输出如下:,您可以继续为 root 用户使用 unix_socket
插件;这被认为是生产系统的安全选项,某些 Ubuntu 维护脚本正常运行需要它。,3、创建具有访问权限的测试数据库和用户。用适合您的设置的名称替换 testdb
和 testuser
。 用强密码替换 password
。,4、退出 SQL shell,5、使用 mysql_secure_installation
工具配置其他安全选项。此工具会询问您是否要为 MariaDB 根用户设置新密码,但您可以跳过该步骤。,在以下提示下输入 Y
即可:,安装 PHP 相对来说也比较简单。,1、安装 PHP FastCGI 处理管理器(PHP FastCGI Processing Manager),其中包括核心 PHP 依赖项。,2、设置 PHP 只接受服务器上实际存在的文件的 URI。这减轻了一个安全漏洞,如果请求的 .php
文件不存在于文件系统中,则 PHP 解释器可能会被欺骗以允许任意代码执行。,接下来就要开始配置 NGINX 站点配置文件了。,1、创建网站内容所在的根目录。将 example.com
替换为您站点的域。,2、为您的站点创建默认配置文件的副本,3、在文本编辑器中打开新的 example.com
配置文件。使用示例内容创建配置文件,将文件名和文件内容中的 example.com
替换为您的域:,文件位置:/etc/nginx/sites-available/example.com.conf
,示例内容:,其中的 server
的具体配置项介绍如下:,4、从启用站点的目录中创建指向您的网站配置文件的链接。将文件名更改为您用于域的名称。,如果您在服务器上配置了 UFW,请启用防火墙以允许网站流量。,1、检查为 Nginx Full
配置文件启用的端口,端口 80 和 443 应该会被列出。,2、如果不允许使用这些端口,请使用以下命令启用它们:,1、为确保您的域名可以访问您的 VPS 服务器,请将您的域的 DNS 记录配置为指向您的搬瓦工的 IP 地址。,2、重启 PHP 并重新加载 NGINX 配置:,3、测试 NGINX 配置:,4、创建一个测试页面来验证 NGINX 可以运行 PHP 并连接到 MariaDB 数据库。将“testuser
”和“password
”字段替换为您在上面创建的 MariaDB 凭据。,文件地址:/var/www/html/example.com/public_html/test.php
,示例内容:,5、在 Web 浏览器中访问 http://example.com/test.php
,它应该显示您已成功连接。,如果您看到错误消息或根本无法加载页面,请重新检查您的配置。如果您的 DNS 更改尚未生效,您可以使用 curl
来测试您的页面:,一般输出如下:,6、一旦建站环境正常工作,删除测试文件:,搬瓦工美西cn2 gt vps测试IP:65.49.215.48,
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 很简单:
sudo apt install nginx
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
即可:
安装 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 站点配置文件了。
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
的具体配置项介绍如下:
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"
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
,它应该显示您已成功连接。
如果您看到错误消息或根本无法加载页面,请重新检查您的配置。如果您的 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
内存 | 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/月 | 链接 |
内存 | 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测试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/月 | 链接 |
免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。
Copyright © 2009-2022 56dr.com. All Rights Reserved. 特网科技 特网云 版权所有 特网科技 粤ICP备16109289号
域名注册服务机构:阿里云计算有限公司(万网) 域名服务机构:烟台帝思普网络科技有限公司(DNSPod) CDN服务:阿里云计算有限公司 百度云 中国互联网举报中心 增值电信业务经营许可证B2
建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站