1.选择操作系统
本文使用了Ubuntu-18.04.5
2.使用VMware创建一个虚拟机
3.查看是否安装nginx、php、mysql、apache,发现都没安装(后来发现apache2默认安装了,然后我把apache2删了)
4.安装nginx
\
5.安装php,php7.2-fpm
6.下载mysql
查看启动状态
7.安全加固
- 加固mysql安全
配置mysql_secure_installation
修改密码
可以发现我们的密码强度是100
删除匿名用户:
限制root用户远程登陆:
删除测试数据库:
重新加载特权表:
登录:
用户名密码不能登录,只能用sudo mysql登录
把身份验证方法从auth_socket改为mysql_native_password:
思考:
---------------------------------------------------
我们介绍当获得root权限后,mysql有密码,如何进入:
找到修改etc/mysql/mysql.conf.d/mysqld.cnf:
在[mysqld]后加skip-grant-tables
重启
就可以登录了,密码直接回车,不需要密码:
- 账户安全加固
对root和账户设置一个复杂密码。
关闭SSH服务:
这里没安装
- 文件权限加固
限制Umash值:
限制日志文件:防止被删
- 安装安全狗
8.配置nginx
创建nginx的默认启动用户
groupadd www -g 666
useradd www -u 666 -g 666 -s /sbin/nologin -M
修改nginx配置文件
sed -i '/^user/c user www;' /etc/nginx/nginx.conf
启动,加入开机自启动
systemctl start nginx
systemctl enable nginx
配置php-fpm用户与Nginx的运行用户保持一致,不修改的话,nginx连不上PHP
sed -i '/^user/c user = www' /etc/php/7.2/fpm/pool.d/www.conf
sed -i '/^group/c group = www' /etc/php/7.2/fpm/pool.d/www.conf
----
中途遇到了一些问题,找了很多方法,最终发现是因为nginx配置文件的格式是
http
{}
Service
{}
这种形式,而需要的格式是
http
{
Service
{}
}
这样的
----
启动
9.设置mysql
创建数据库:
创建表:
插入数据与查询:
10.使nginx支持php
下载依赖php7.2-fpm
配置php7.2-fpm
测试一下
11.使php支持mysql
这里只要下载依赖php7.2-mysql
12.nginx使用php获得mysql数据库内容
13.扩展:
Apache环境:
环境已经按好了
已经在运行了,下面调用一下mysql:
成功。