【CharlesE】建站之路(四)搭建LNMP环境

原创
2020/10/27 00:16
阅读数 67

搭建Web环境采用的是:LNMP(L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP)。

部署LNMP环境具体操作步骤如下:

软件版本:Nginx 1.18,MySQL 8.0,PHP 7.2 。

  1. 远程登陆ECS。
  2. 关闭防火墙。
  3. 关闭SELinux。
  4. 安装Nginx。
  5. 安装Mysql。
  6. 安装PHP
  7. 配置Nginx。
  8. 配置Mysql。
  9. 配置PHP
  10. 浏览器访问测试。

1.远程登陆ECS

  1. 查看云服务器的弹性公网IP地址。
  2. Powershell登录。 

打开Powershell,输入以下命令登录云服务器。注意:请使用云服务器的公网IP替换命令中的【EIP】。

拷贝代码LANG=en_us.UTF-8 ssh root@EIP或ssh root@EIP。
接受秘钥输入“yes”,回车。
输入密码:创建ECS时设定的密码(输入密码时,命令行窗口不会显示密码,输完之后直接键入回车)。

3.SecureCRT登录。

点击Connect⚡,再Hostname处输入EIP,username处输入:root。

在Password处输入在购买ECS时设置的密码。

2.关闭防火墙。

运行命令:

systemctl status firewalld

如果防火墙的状态参数是inactive,则防火墙为关闭状态。
如果防火墙的状态参数是active,则防火墙为开启状态,因此需要关闭防火墙。
    临时关闭防火墙,运行命令:

systemctl stop firewalld

    永久关闭防火墙,运行命令

systemctl disable firewalld

结果如下图所示。

3.关闭SELinux

运行getenforce命令
如果SELinux状态参数是Disabled,则SELinux为关闭状态。
如果SELinux状态参数是Enforcing,则SELinux为开启状态,需要关闭
    临时关闭SELinux,运行命令setenforce 0。
    永久关闭SELinux,运行命令vim /etc/selinux/config编辑SELinux配置文件。回车后,把光标移动到SELINUX=enforcing这一行,按i键进入编辑模式,修改为SELINUX=disabled,按Esc键,然后输入:wq并按Enter键以保存并关闭SELinux配置文件。

结果如下图所示。

4.安装Nginx

运行以下命令安装Nginx。

dnf -y install nginx

运行以下命令查看Nginx版本。

nginx -v
结果如下图所示。
 

5.安装Mysql

运行以下命令安装Mysql。

dnf -y install @mysql

查看Mysql版本。

mysql -V

结果如下图所示。

6.安装PHP

查看包信息。

dnf info php

版本信息如下图所示。

如安装默认版本php,运行以下命令。

dnf install php php-curl php-dom php-exif php-fileinfo php-fpm php-gd php-hash php-json php-mbstring php-mysqli php-openssl php-pcre php-xml libsodium

查看版本结果如下所示。

如需安装新版本php则需更新epel源。

运行以下命令添加并更新epel源。

dnf -y install epel-release
dnf update epel-release

运行以下命令删除缓存的无用软件包并更新软件源。

dnf clean all
dnf makecache

启用php:7.3模块。

dnf module enable php:7.3

运行以下命令安装PHP相应的模块。

dnf install php php-curl php-dom php-exif php-fileinfo php-fpm php-gd php-hash php-json php-mbstring php-mysqli php-openssl php-pcre php-xml libsodium

运行以下命令查看PHP版本。

php -v

7.配置Nginx。

运行以下命令备份Nginx配置文件。

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

运行以下命令打开Nginx配置文件。

vim /etc/nginx/nginx.conf

初始配置文件如下图所示。

从下往上数第一个include 后面显示的内容为Nginx配置文件默认路径。

按 i 进入编辑模式。

将下列内容添加到Nginx配置文件默认路径与“}”之间。

    tcp_nopush          on;
    tcp_nodelay         on;
    types_hash_max_size 2048;

    #修改上传报文体积限制,系统默认最大1m,现在改为50m,可根据需求调整大小
    client_max_body_size 50m;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        #可将该路径替换为的网站根目录
        root         /usr/share/nginx/html/;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        #除下面提及的需要添加的配置信息外,其他配置保持默认值即可。
        location / {
        #在location大括号配置网站被访问时的默认首页
            index  index.php index.html index.htm;
        }

        #添加下列信息,配置Nginx通过fastcgi方式处理您的PHP请求
        location ~ .php$ {
            root /usr/share/nginx/html/;
        #Nginx通过本机的9000端口将PHP请求转发给PHP-FPM进行处理
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
        #将/scripts$fastcgi_script_name修改为$document_root$fastcgi_script_name。
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        #Nginx调用fastcgi接口处理PHP请求            
            include fastcgi_params;
        }                

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

按Esc后,输入 :wq 保存并退出文件。

运行以下命令启动Nginx服务

systemctl start nginx

运行以下命令设置Nginx服务开机自启动。

systemctl enable nginx

运行以下命令检查Nginx服务运行状态

systemctl status nginx

启动成功如下图所示。

8.配置Mysql。

运行以下命令启动MySQL,并设置为开机自启动。

systemctl enable --now mysqld

运行以下命令查看MySQL是否已启动。

systemctl status mysqld

运行以下命令执行MySQL安全性操作并设置密码。

mysql_secure_installation

命令运行后,根据命令行提示执行如下操作。

  1. 输入Y并回车开始相关配置。
  2. 选择密码验证策略强度,输入2(安全强度高)并回车,输入密码,密码需要带有大小写字母+符号+数字。
  3. 设置MySQL的新密码并确认。
  4. 输入Y并回车继续使用提供的密码。
  5. 输入Y并回车移除匿名用户。
  6. 设置是否允许远程连接MySQL,目前项目不需要远程连接所以,输入Y并回车。
  7. 输入Y并回车删除test库以及test库的访问权限。
  8. 输入Y并回车重新加载授权表。

配置完成会出现All done!如下图所示。

9.配置PHP

运行以下命令新建文件。

vim <网站根目录>/phpinfo.php  #将<网站根目录>替换为配置的网站根目录。

例如:

vim /usr/share/nginx/html/phpinfo.php

新建phpinfo.php文件,用于展示PHP信息。

  1. 运行以下命令新建文件。
  2. 按i进入编辑模式。
  3. 输入下列内容,函数phpinfo()​会展示PHP的所有配置信息。
<?php echo phpinfo(); ?>

4. 按Esc键后,输入:wq并回车以保存并关闭配置文件。

运行以下命令启动PHP-FPM。

systemctl start php-fpm

运行以下命令设置php-fpm开机自启动。

systemctl enable php-fpm

10.浏览器访问测试

在本地物理机打开浏览器,在地址栏输入http://<ECS实例公网IP地址>/phpinfo.php。 返回结果如下图所示,表示LNMP环境部署成功。

出现返回结果后,将根目录下phpinfo.php文件删除, 消除安全隐患。

最后把做好的网页上传到网站根目录文件夹,将网站主页命名为index.html。

运行以下命令重启Nginx服务。

systemctl restart nginx

在本地物理机打开浏览器,在地址栏输入http://<ECS实例公网IP地址>/index.html。即可看到网页页面。

注意:

  1. 在安装软件时,dnf源内的安装包未必是最新版本软件,如需安装新版本软件源的更新、添加。
  2. 配置Nginx时,需要443端口进行工作,可直接将server与大括号内的内容在http{……}内进行复制,将80端口替换为443端口。
  3. 网站根目录需按需更换。

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部