如何在 CentOS 7 上安装 Linux,Nginx,MysqL,PHP(LEMP)环境
1. 第一步 - 安装 Nginx
要添加 CentOS 7 EPEL 仓库,请打开终端并使用以下命令:
echo nameserver 8.8.8.8 >> /etc/resolv.conf
curl -o /etc/yum.repos.d/CentOS-Base-ali.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum install -y epel-release
Bash
Copy
现在 Nginx 存储库已经安装在你的服务器上,使用以下 yum 命令安装 Nginx :
yum install -y Nginx
Bash
Copy
之后,你的 Web 服务器已安装。
一旦安装,你就可以在你的 VPS 上启动 Nginx:
systemctl start Nginx
Bash
Copy
添加防火墙规则
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
Bash
Copy
你可以立即进行现场检查,通过在你的 Web 浏览器中访问服务器的公共 IP 地址来验证所有事情是否按计划进行(请参阅下一个标题下的注释,以了解你的公共 IP 地址是什么,如果你没有此信息已经):
http://server_domain_name_or_IP/
Bash
Copy
你会看到默认的 CentOS 7 Nginx 网页,这是为了提供信息和测试目的。
如果你看到这个页面,那么你的 Web 服务器现在已经正确安装了。
在继续之前,你需要做的是启用 Nginx 启动。使用以下命令来执行此操作:
systemctl enable Nginx
Bash
Copy
2. 第二步 - 安装 MysqL(MariaDB)
现在我们已经启动了 Web 服务器,现在是时候安装一个 MysqL 插件替代品 MariaDB 了。MariaDB 是 MysqL 关系数据库管理系统的一个社区开发的分支。基本上,它将组织和提供访问我们的网站可以存储信息的数据库。
再次,我们可以使用 yum 获取和安装我们的软件。这一次,我们还将安装一些其他“帮手”软件包,这些软件包可以帮助我们获得组件之间的通信。
yum install -y mariadb-server mariadb
Bash
Copy
安装完成后,我们需要使用以下命令启动 MariaDB:
systemctl start mariadb
Bash
Copy
现在我们的 MysqL 数据库正在运行,我们希望运行一个简单的安全脚本,它将删除一些危险的默认值,并锁定对数据库系统的访问。运行以下命令启动交互式脚本:
MysqL_secure_installation
Bash
Copy
提示符会询问你当前的 root 密码。由于你刚刚安装了 MysqL,你很可能不会拥有一个,因此请按 Enter 键将其留空。然后提示符会询问你是否要设置 root 密码。继续前进 Y,并按照说明:
MysqL_secure_installation prompts:
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
New password: password
Re-enter new password: password
Password updated successfully!
Reloading privilege tables..
... Success!
Bash
Copy
对于其余的问题,你应该简单地通过每个提示点击“ENTER”键来接受默认值。这将删除一些示例用户和数据库,禁用远程 root 登录,并加载这些新规则,以便 MysqL 立即尊重我们所做的更改。
你要做的最后一件事是启用 MariaDB 启动。使用以下命令来执行此操作:
systemctl enable mariadb
Bash
Copy
3. 第三步 - 安装 PHP
PHP 是我们设置的组件,它将处理代码以显示动态内容。它可以运行脚本,连接到我们的 MysqL 数据库来获取信息,并将处理的内容交给我们的 Web 服务器来显示。
我们可以再次利用该 yum 系统来安装我们的组件。我们将包括 PHP-MysqL 和 PHP-fpm 包:
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install -y yum install PHP56w PHP56w-MysqL PHP56w-gd PHP56w-imap PHP56w-ldap PHP56w-odbc PHP56w-pear PHP56w-xml PHP56w-xmlrpc PHP56w-mbstring PHP56w-mcrypt PHP56w-bcmath PHP56w-mhash PHP56w-fpm PHP56w-opcache
Bash
Copy
3.1. 配置 PHP 处理器
我们现在已经安装了我们的 PHP 组件,但是我们需要稍作修改,以使我们的安装更加安全。
sed -i 's/^;date.timezone =/date.timezone = PRC/' /etc/PHP.ini
sed -i 's/^;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/PHP.ini
Bash
Copy
sed -i 's/127.0.0.1:9000/\/var\/run\/PHP-fpm\/PHP-fpm.sock/' /etc/PHP-fpm.d/www.conf
sed -i 's/;listen.owner = nobody/listen.owner = Nginx/' /etc/PHP-fpm.d/www.conf
sed -i 's/;listen.group = nobody/listen.group = Nginx/' /etc/PHP-fpm.d/www.conf
sed -i 's/;user = apache/user = Nginx/' /etc/PHP-fpm.d/www.conf
sed -i 's/group = apache/group = Nginx/' /etc/PHP-fpm.d/www.conf
Bash
Copy
现在,我们只需要键入以下命令启动我们的 PHP 处理器:
systemctl start PHP-fpm
chmod 666 /var/run/PHP-fpm/PHP-fpm.sock
chown Nginx:Nginx /var/run/PHP-fpm/PHP-fpm.sock
systemctl restart PHP-fpm
Bash
Copy
这将实施我们所做的改变。
接下来,启用 PHP-fpm 在启动时启动:
systemctl enable PHP-fpm
Bash
Copy
4. 第四步 - 配置 Nginx 来处理 PHP 页面
现在,我们已经安装了所有必需的组件。我们仍然需要做的唯一配置更改是告诉 Nginx 使用我们的 PHP 处理器来处理动态内容。
我们在服务器块级别上执行此操作(服务器块类似于 Apache 的虚拟主机)。输入以下命令:
(
cat <<EOF
index index.PHP index.html index.htm;
server_name your domain name or IP;
# pass the PHP scripts to FastCGI server listening on the PHP-fpm socket
location ~ \.PHP$ {
try_files \$uri =404;
fastcgi_pass unix:/run/PHP-fpm/PHP-fpm.sock;
fastcgi_index index.PHP;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
include fastcgi_params;
}
EOF
) > /etc/Nginx/default.d/default.conf
Bash
Copy
重新启动 Nginx 进行必要的更改:
systemctl restart Nginx
Bash
Copy
5. 第五步 - 在 Web 服务器上测试 PHP 处理
为了测试我们的系统是否正确配置了 PHP,我们可以创建一个非常基本的 PHP 脚本。
我们将调用这个脚本 info.PHP。为了让 Apache 找到并正确提供,必须将其保存到一个非常特定的目录中,这个目录称为“Web 根目录”。
在 CentOS 7 中,这个目录位于 /usr/share/Nginx/html/。我们可以通过键入以下内容在该位置创建文件:
vi /usr/share/Nginx/html/info.PHP
这将打开一个空白文件。我们希望在文件中放入以下有效的 PHP 代码文本:
(
cat << EOF
<?PHP
PHPinfo();
?>
EOF
) > /usr/share/Nginx/html/info.PHP
现在我们可以测试我们的 Web 服务器是否可以正确显示由 PHP 脚本生成的内容。要尝试这一点,我们只需要在我们的网页浏览器中访问这个页面。你将需要你的服务器的公共 IP 地址。
你想要访问的地址是:
http://your_server_IP_address/info.PHP
如果这是成功的,那么你的 PHP 工作正常。
在测试之后,你可能希望删除此文件,因为它实际上可能会将你的服务器信息提供给未经授权的用户。要做到这一点,你可以输入这个:
rm /usr/share/Nginx/html/info.PHP
如果你以后需要再次访问该信息,则可以随时重新创建此页面。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。