nginx的模块和状态和安装php

被刻印的时光 ゝ 提交于 2019-11-27 16:38:54

Nginx模块

目录索引模块

http_autoindex_module

http_index_module

location / {    autoindex on;}

 

显示大小,带单位

Syntax: autoindex_exact_size on | off;Default:    autoindex_exact_size on;Context:    http, server, location

显示北京时间

Syntax: autoindex_localtime on | off;Default:    autoindex_localtime off;Context:    http, server, location

 

 

状态模块

location = /basic_status {    stub_status;}This configuration creates a simple web page with basic status data which may look like as follows:​Active connections: 291 server accepts handled requests 16630948 16630948 31070465 Reading: 6 Writing: 179 Waiting: 106 

 

 

访问控制

#限制IP   location /status {         stub_status;         allow 172.16.1.0/24;         deny all;   }   ​​location /status {       stub_status;       allow all;       deny $IP; }

 

#限制用户密码location / {    auth_basic           "closed site";    auth_basic_user_file conf/htpasswd;}​server {        listen 80;        server_name www.simi.xxx;​        location / {                root /simi;                index simi.html;                auth_basic           "simi";                auth_basic_user_file /simi/simi.passwd;        }​}

 

 

访问限制

1)连接限制

http {    limit_conn_zone $remote_addr zone=suibian:10m;}

 

2)限制请求数量

http {    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;​server {    location /search/ {        limit_req zone=one burst=5 nodelay;        limit_req_status 412;        error_page 412 /xxx/err.html    }}

location

匹配符匹配规则优先级
= 精确匹配 1
^~ 以某个字符串开头 2
~ 区分大小写的正则匹配 3
~* 不区分大小写的正则匹配 3
!~ 区分大小写不匹配的正则 5
!~* 不区分大小写不匹配的正则 6
/ 通用匹配,任何请求都会匹配到  
server     server_name www.driverzeng.com;​location / {    root /code} location ~ \.php$ {    root /var/www}​location ~ \.jsp$ {    ...}​location ~* \.(jpg|gif|png|js|css)$ {    root /req;}​location ~* \.(sql|bak|tgz|tar.gz|.git)$ {    ...}​www.driverzeng.com/index.PHPwww.driverzeng.com/abc.tgzwww.driverzeng.com/ABC.tgzwww.driverzeng.com/ABC.jspwww.driverzeng.com/ABC.JSPwww.driverzeng.com/abc.JSP

LNMP环境准备

1)使用nginx官方源

​[root@web01 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo[root@web01 ~]# cd /etc/yum.repos.d/[root@web01 yum.repos.d]# vim nginx.repo[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=1

2)创建nginx用户

[root@web01 ~]# groupadd www -g 666[root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

3)安装nginx

[root@web01 ~]# yum install -y nginx

4)修改nginx启动用户

[root@web01 ~]# vim /etc/nginx/nginx.conf user  www;

5)启动nginx加入开机自启

[root@web01 ~]# systemctl start nginx[root@web01 ~]# systemctl enable nginx

 

安装php

#卸载系统自带的php5.4[root@web01 ~]# yum remove php-mysql-5.4 php php-fpm php-commo#配置第三方源[root@nginx ~]# vim /etc/yum.repos.d/php.repo[php-webtatic]name = PHP Repositorybaseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/gpgcheck = 0​#更改php源yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm#安装php​[root@nginx ~]# yum -y install php71-php php71-php-cli php71-php-common php71-php-devel php71-php-embedded php71-php-gd php71-php-mcrypt php71-php-mbstring php71-php-pdo php71-php-xml php71-php-fpm php71-php-mysqlnd php71-php-opcache php71-php-pecl-memcached php71-php-pecl-redis php71-php-pecl-mongodb
[root@web01 yum.repos.d]# cd /etc/opt/remi/php71/​[root@web01 php71]# lltotal 76drwxr-xr-x 2 root root     6 Feb 20 19:46 optdrwxr-xr-x 2 root root  4096 Aug 16 15:58 php.d-rw-r--r-- 1 root root  4103 Jul 31 16:37 php-fpm.confdrwxr-xr-x 2 root root    22 Aug 16 15:58 php-fpm.d-rw-r--r-- 1 root root 62394 Jul 31 16:37 php.inidrwxr-xr-x 2 root root     6 Feb 20 19:46 pkidrwxr-xr-x 5 root root    52 Aug 16 15:57 pmdrwxr-xr-x 2 root root     6 Feb 20 19:46 skeldrwxr-xr-x 2 root root    21 Aug 16 15:58 sysconfigdrwxr-xr-x 4 root root    38 Aug 16 15:57 X11drwxr-xr-x 3 root root    23 Aug 16 15:57 xdgdrwxr-xr-x 2 root root     6 Feb 20 19:46 xinetd.d[root@web01 php71]# cd php-fpm.d[root@web01 php-fpm.d]# lltotal 20-rw-r--r-- 1 root root 19478 Jul 31 16:37 www.conf​

 

寻找启动命令[root@web01 php-fpm.d]# rpm -qa|grep php[root@web01 php-fpm.d]# rpm -ql php71-php-fpm-7.1.31-1.el7.remi.x86_64[root@web01 php-fpm.d]# /opt/remi/php71/root/usr/sbin/php-fpm   启动php[root@web01 php-fpm.d]# ps -ef|grep php     查看是否启动phproot       7838      1  0 16:08 ?        00:00:00 php-fpm: master process (/etc/opt/remi/php71/php-fpm.conf)www        7839   7838  0 16:08 ?        00:00:00 php-fpm: pool wwwwww        7840   7838  0 16:08 ?        00:00:00 php-fpm: pool wwwwww        7841   7838  0 16:08 ?        00:00:00 php-fpm: pool wwwwww        7842   7838  0 16:08 ?        00:00:00 php-fpm: pool wwwwww        7843   7838  0 16:08 ?        00:00:00 php-fpm: pool wwwroot       7845   7472  0 16:10 pts/1    00:00:00 grep --color=auto phproot@web01 ~]# cd /etc/nginx/conf.d/[root@web01 conf.d]# lltotal 4-rw-r--r-- 1 root root 1093 Aug 13 23:02 default.conf​[root@web01 conf.d]# vim php.conf​server {        listen 80;        server_name php.oldboy.com;        root /code;        index index.php index.html index.htm;​​        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;}    }[root@web01 conf.d]# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful[root@web01 conf.d]# nginx -s reload[root@web01 conf.d]# mkdir /code[root@web01 conf.d]# lltotal 8-rw-r--r-- 1 root root 1093 Aug 13 23:02 default.conf-rw-r--r-- 1 root root  314 Aug 16 16:45 php.conf[root@web01 conf.d]# cd /code/[root@web01 code]# lltotal 0[root@web01 code]# vim index.php​​<?php  phpinfo();?>[root@web01 code]# chown -R www.www /code​[root@web01 code]# nginx -t[root@web01 code]# nginx -s reload访问 php.oldboy.com就会出现php的界面 前提是要先做域名解析

 

[root@web01 code]# vim index.php<font color='pink'> 小仙女</font><?php  phpinfo();?>然后刷新一下就会出现 php的界面上出现小仙女的字

 

 

[root@web01 conf.d]# vim req.conf​server {        listen 80;        server_name req.drz.com;        limit_req zone=xxx burst=3 nodelay;        location /{        root /req;        index index.html;}}​

1)安装httpd和php

[root@web01 ~]# yum install -y httpd php

2)创建用户

[root@web01 ~]# groupadd www -g 666[root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

3)修改配置文件

[root@web01 ~]# vim /etc/httpd/conf/httpd.confUser wwwGroup www
[root@web01 conf.d]# mkdir /req[root@web01 ~]# cd /etc/nginx/conf.d/[root@web01 conf.d]# chown -R www.www /req[root@web01 req]# vim index.html<font color='pink'> i am gril</font>​​
[root@web01 req]# vim /etc/nginx/conf.d/req.conf limit_req_zone $remote_addr zone=mingzi:10m rate=1r/s;​server {        listen 80;        server_name game.abc.com;        limit_req zone=mingzi burst=1 nodelay;        limit_req_status 412;​        location / {        root /req;        index index.html;}}​​
 server {       listen 80;       server_name dir.abc.com;        charset utf-8,gbk;       autoindex on;        location /{                root /dir;         autoindex_exact_size off;         autoindex_localtime on;        auth_basic      "abc";        auth_basic_user_file /code/aa;​}        location /download {        alias /dir;        autoindex on;}        location /status {        stub_status;}​}​

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!