1.安装MySQL:
查看mysql是否启动:
ps aux | grep mysqld
错误信息:
2.安装PHP:
该账号用来运行php-fpm服务
如果显示“test is successful”,就说明配置没问题
设置php-fpm开机启动:
chkconfig php-fpm on
检测php-fpm是否启动:
ps aux | grep php-fpm
错误信息:
编译时错误:
make时错误:
3.安装NGINX:
nginx下载网址:http://nginx.org/download/nginx-1.10.3.tar.gz
编写脚本命令:
测试是否解析PHP
4.nginx配置:
1.默认虚拟主
加载/usr/local/nginx/conf/vhost/下面的所有以.conf结尾的文件
default_server标记的时默认虚拟主机
2.用户认证:
auth_basic:打开认证
auth_basic_user_file:指定用户密码文件
关闭防火墙:systemctl stop firewalld
401:该网站需要认证
某个目录做用户认证:
3.域名重定向:
4.nginx访问日志:
combined_realip:日志格式的名字
$remote-addr:访问网站的用户的出口IP
$http_x_forwarded_for:代理服务器的IP,如果使用了代理,则会记录代理的IP
$time_local:当前的时间
$host:访问的主机名
$request_uri:访问的URL地址
$status:状态码
$http_referer:referer地址
$http_user_agent:user_agent
access_log:指定日志的存储路径
nginx日志切割脚本
5.配置静态文件不记录日志并添加过期时间:
location ~:指定对应的静态文件
expires:配置过期时间
access_log:配置为off就可以不记录访问日志
6.nginx防盗链:
7.访问控制:
拒绝某几个IP:
黑名单:
针对user_agent做出限制
8.nignx解析PHP:
9.nginx代理
前两行不用解释,和普通的虚拟主机- -样,不同的是后面proxy相关的语句。Proxy_ pass指定要代
理的域名所在的服务器IP,这里的IP就是阿铭的论坛所在服务器IP,你可以ping ask apelearm.com获取
到该IP。后面的三行为定义发往后端Web服务器的请求头,第二行必须有,否则代理不成功,它表示
后端Web服务器的域名和当前配置文件中的server_ name保持一致(即ask apelearm.com),第三行和第
四行可以省略,前面在讲述Nginx日志格式的时候介绍过这两个参数,表示的含义是-一样的。配置文
件保存后,重新加载Nginx服务并验证。
和简单的代理有所不同,负载均衡多了一个upstream,在这里定义后端的Web Server,可以是一
个,也可以是多个。其中ip. _hash为负载均衡的算法,它表示根据IP地址把请求分到不同的服务器上。
比如用户A的IP为1.1.1.1,用户B的IP为2.2.2.2,则A访问的时候会把请求转发到第- - 个Web Server上,
而B访问的时候会到第二二 个Web Server.上。这种算法用在把session存到本机磁盘上的情况,至于什么是
session,你访问猿课看课程需要登录,那么你- -旦登录,服务器上就会记录你的session
信息,这个session会保存一 段时间。 比如,你看了一个10分钟的课程,然后去开会了,过去半小时再
打开网站,你依然是登录的状态,这就是因为session还存在这台服务器上。下面是测试结果:
10.nginx配置ssl
openss1命令如果没有,使用yum install -y openss1安装。这一步是生成key文件(通常称为“私钥" ),2048
为加密字符串长度,会让我们输入一个密码,密码不能太短,否则不成功
这一步是把刚刚生成的tmp.key再转换成aminglinux.key,目的是删除刚才设置的密码,如果key文件有密码,
则必须在Nginx加载它的时候输入它的密码,因此很不方便
5.php-fpm配置:
1.php-fpm的pool
2.php-fpm的慢执行日志:
第一行定义超时时间,即PHP的脚本执行时间只要超过1秒就会记录日志,第二行定义慢执行日志
的路径和名字。以后,遇到PHP网站访问卡顿的问题时,要记得去查看这个慢执行日志
3.php-fpm定义open_basedir:
4.php-fpm远程管理