微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 CentOS 7 上安装 Linux,Nginx,MySQL,PHPLEMP环境

如何在 CentOS 7 上安装 Linux,NginxMysqLPHP(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-MysqLPHP-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

接下来,打开 PHP-fpm 配置文件 www.conf:

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] 举报,一经查实,本站将立刻删除。

相关推荐