欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS 7 安装 LNMP 环境(PHP7.2 + MySQL5.7 + Nginx1.10)以及SSL证书配置

程序员文章站 2022-05-17 14:25:00
...

一、修改yum源

[aaa@qq.com ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[aaa@qq.com ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[aaa@qq.com ~]# rpm -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

Webtatic:https://webtatic.com
MySQL:https://dev.mysql.com/downloa...

二、安装 Nginx、MySQL、PHP

[aaa@qq.com ~]# yum -y install nginx
[aaa@qq.com ~]# yum -y install mysql-community-server
[aaa@qq.com ~]# yum -y install php72w-devel php72w.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-gd.x86_64 php72w-ldap.x86_64 php72w-mbstring.x86_64 php72w-mcrypt.x86_64  php72w-pdo.x86_64   php72w-mysqlnd  php72w-fpm php72w-opcache php72w-pecl-redis php72w-pecl-mongo

三、配置

1、数据库配置

MySQL 安装完成之后,在 /var/log/mysqld.log 文件中给 root 生成了一个默认密码
通过下面的方式找到root 默认密码,然后登录 MySQL 进行修改:

[aaa@qq.com ~]# systemctl start mysqld    # 启动 MySQL
[aaa@qq.com ~]# grep 'temporary password' /var/log/mysqld.log  # 查找默认密码
2017-04-10T02:58:16.806931Z 1 [Note] A temporary password is generated for aaa@qq.com: Kw(pwskx=ws   #显示你的密码

登录 MySQL

[aaa@qq.com ~]# mysql -uroot -p'Kw(pwskx=ws'

修改root 默认密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyPass1!';

或者

mysql> set password for 'root'@'localhost'=password('123abc');


MySQL5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误

CentOS 7 安装 LNMP 环境(PHP7.2 + MySQL5.7 + Nginx1.10)以及SSL证书配置

详见 MySQL 官网密码策略详细说明:https://dev.mysql.com/doc/ref...

配置默认编码为 utf8
修改 /etc/my.cnf 配置文件,在 [mysqld] 下添加编码配置,配置完成后重启:

[aaa@qq.com ~]# vim /etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
[aaa@qq.com ~]# systemctl restart mysqld    # 重启 MySQL

CentOS 7 安装 LNMP 环境(PHP7.2 + MySQL5.7 + Nginx1.10)以及SSL证书配置

设置开机启动:

[aaa@qq.com ~]# systemctl enable mysqld

默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket 文件:/var/run/mysqld/mysqld.pid

2、配置 Nginx
安装完成以后查看自己防火墙是否开启,如果已开启,我们需要修改防火墙配置,开启 Nginx 外网端口访问。

[aaa@qq.com ~]# systemctl status firewalld

CentOS 7 安装 LNMP 环境(PHP7.2 + MySQL5.7 + Nginx1.10)以及SSL证书配置

如果显示 active (running),则需要调整防火墙规则的配置。

修改 /etc/firewalld/zones/public.xml文件,在zone一节中增加
保存后重新加载 firewalld 服务:

[aaa@qq.com ~]# vim /etc/firewalld/zones/public.xml
<zone>
    ...
    <service name="nginx"/>
<zone>
[aaa@qq.com ~]# systemctl reload firewalld

CentOS 7 安装 LNMP 环境(PHP7.2 + MySQL5.7 + Nginx1.10)以及SSL证书配置

修改 Nginx 配置:

[aaa@qq.com ~]# vim /etc/nginx/nginx.conf

在 server {} 里添加:

location / {
    #定义首页索引文件的名称
    index index.php index.html index.htm;   
}

# PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
location ~ .php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include fastcgi_params;
}

注:要开启安全组9000端口

CentOS 7 安装 LNMP 环境(PHP7.2 + MySQL5.7 + Nginx1.10)以及SSL证书配置

配置完成重启 Nginx

[aaa@qq.com ~]# systemctl start nginx # 启动 Nginx

设置开机启动:

[aaa@qq.com ~]# systemctl enable nginx

3、设置开机启动 php-fpm

[aaa@qq.com ~]# systemctl enable php-fpm
[aaa@qq.com ~]# systemctl start php-fpm    # 启动 php-fpm

四、测试

  •  /usr/share/nginx/html 文件下创建php文件,输出 phpinfo 信息

  • 浏览器访问 http://<IP地址>/phpinfo.php,如果看到 PHP信息,说明安装成功

CentOS 7 安装 LNMP 环境(PHP7.2 + MySQL5.7 + Nginx1.10)以及SSL证书配置

六、配置SSL证书(腾讯云SSL为例)

1、申请SSL证书,并拿到证书文件和**

腾讯云里有相关介绍,这里就不多介绍了。。。。

2、进行配置

   2.1、打开编辑 Nginx 根目录下的 nginx.conf 文件(每个版本的nginx.conf文件位置不同,我的是在/etc/nginx)

vim /etc/nginx/nginx.conf #命令行编辑该文件。

   2.2、修改内容如下:

# Settings for a TLS enabled server.

    server {
        listen       443 ssl default_server;
        server_name  shanlingfeng.wang;
        root         /usr/share/nginx/html;
        #启用 SSL 功能
	ssl on;

        ssl_certificate 1_www.domain.com_bundle.crt;    #证书文件名称
        ssl_certificate_key 2_www.domain.com.key;       #私钥文件名称
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.

        location / {
         index index.php index.html index.htm;   
        }
         # nginx关联php  防止使用使用https协议访问时候出现下载文件情况
         location ~ .php$ {
          fastcgi_pass 127.0.0.1:9000;
          fastcgi_index index.php;
          fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
          fastcgi_split_path_info ^(.+\.php)(.*)$;      
          fastcgi_param PATH_INFO $fastcgi_path_info;    
          include fastcgi_params;
       }

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

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

     2.3 通过执行以下命令验证配置文件问题

[aaa@qq.com ~]# nginx -t

CentOS 7 安装 LNMP 环境(PHP7.2 + MySQL5.7 + Nginx1.10)以及SSL证书配置

出现上面两句提示,表明修改成功

2.3 配置成功,重启nginx服务

[aaa@qq.com ~]# nginx -s reload

3、测试

CentOS 7 安装 LNMP 环境(PHP7.2 + MySQL5.7 + Nginx1.10)以及SSL证书配置