LNMP环境配置

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远程管理

原文地址:https://www.cnblogs.com/hts1319173810/p/12134054.html