数据库
首页 > 数据库> > 如何在 CentOS 7 上安装 Linux,Nginx,MySQL,PHP(LEMP)环境

如何在 CentOS 7 上安装 Linux,Nginx,MySQL,PHP(LEMP)环境

作者:互联网

如何在 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

接下来,打开 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

如果你以后需要再次访问该信息,则可以随时重新创建此页面。

标签:Copy,CentOS,fpm,Nginx,php56w,PHP,Linux,php,Bash
来源: https://www.cnblogs.com/nullnullnull/p/11114531.html