使用多个域名和证书

检查你的nginx是否支持SNI,检查方式如下
命令:nginx -V
若返回结果中有显示TLS SNI support enabled,则表示支持

Centos6/7使用脚本搭建nginx注意事项

安装完成后执行命令 source /etc/profile 让环境变量立即生效,或重新打开终端
参考文章

Centos7设置nginx开机自启

  1. 在系统服务目录里创建nginx.service文件
    vi /usr/lib/systemd/system/nginx.service
  2. 写入内容如下:
[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  1. 设置开机自启动
systemctl enable nginx.service
  1. 查看nginx状态
systemctl status nginx.service

如何把一个静态页面放到服务器上并通过nginx实现访问!

把静态网页放入服务器
比如我把aira2.html放入/usr/local/nginx/html中

修改nginx文件
vi /usr/local/nginx/conf/nginx.conf
插入以下内容

server {
        listen 80;##监听端口
        server_name aria2.banana-zone.tk;##你的域名
        root  /usr/local/nginx/html;##html文件夹目录
        index aria2.html;##要显示的html文件名
  location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|pdf|txt){
    root /usr/local/nginx/html;##html文件夹目录
  } 
}

重启nginx
nginx -s reload

Nginx调用php

server
{
    listen 80;
    server_name one.banana-zone.top;
    index index.php index.html index.htm default.php default.htm default.html;
    root /usr/local/oneindex;
    include enable-php.conf;##这条是来打开你的index.php文件的,不然你打开网址,会变成下载这个文件,而不是打开

    if (!-f $request_filename){
    set $rule_0 1$rule_0;
    }
    if (!-d $request_filename){
    set $rule_0 2$rule_0;
    }
    if ($rule_0 = "21"){
    rewrite ^/(.*)$ /index.php?/$1 last;
    }

    #access_log  /root/one.log;
    #error_log   /root/1error.log;
}

PS: include enable-php.conf就是下面的内容

location ~ [^/]\.php(/|$)
    {
        try_files $uri =404;
        fastcgi_pass  unix:/tmp/php-cgi-56.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
        include pathinfo.conf;
    }

Autoindex

server {
        listen 80;
        server_name nginx.banana-zone.top;##你的域名
        root    /root/Download/;# 需要展示的文件的路径
        # 下载autoindex.html并放在所需展示的文件路径
        # 同样把网页小图标favicon.ico放在一起即可
        location ~ ^(.*)/$ {
        root   /root/Download/;##需要展示哪个夹
        charset utf-8;
        autoindex on;
        autoindex_localtime on;
        autoindex_exact_size off;
        add_after_body /autoindex.html;
        }
       access_log  /root/autoaccess.log;
       error_log   /root/autoerror.log;
}

PS:
设置访问验证
1. 首先要生成用户名密码,进入这里生成
2. 新建htpasswd文件,把生成的内容粘贴进去
3. 放入你服务器中,比如放入/root/Download/
4. 修改Nginx配置文件,在autoindex的locatio处添加

auth_basic "Authorized users only";
auth_basic_user_file /root/Download/htpasswd;

nginx出现403 forbidden

  • 为了保证文件能正确执行,nginx既需要文件的读权限,又需要文件所有父目录的可执行权限。例如,当访问/usr/local/nginx/html/image.jpg时,nginx既需要image.jpg文件的可读权限,也需要/, /usr,/usr/local,/usr/local/nginx,/usr/local/nginx/html的可以执行权限。

报错unknown directive "add_after_body" in /usr/local/nginx/conf/vhost/

  • nginx 不识别 add_after_body 指令。
  • 没有带上 --with-http_addition_module 参数

lnmp上给ningx添加该模块

  1. 修改lnmp.conf配置文件(/root/lnmp1.7/lnmp.conf)
  2. 查询当前nginx版本,使用升级命令升级当前版本即可
Nginx_Modules_Options='--with-stream_ssl_preread_module --with-http_realip_module'
cd /root/lnmp1.7&&./upgrade.sh nginx

root&alias的区别

location /down/ {
alias /home/wwwroot/lnmp/test/;
autoindex on;
}
  • http://domain/down/vpser.txt 是直接访问的/home/wwwroot/lnmp/test/下面的vpser.txt文件
  • 即:http://domain/home/wwwroot/lnmp/test/vpser.txt
  • 即:/down/=/home/wwwroot/lnmp/test/
  • 需要注意的是alias目录必须要以 / 结尾且alias只能在location中使用
location /down/ {
root /home/wwwroot/lnmp/test/;
autoindex on;
}
  • http://domain/down/vpser.txt 是直接访问的/home/wwwroot/lnmp/test/down下面的vpser.txt文件
  • 即:http://domain/home/wwwroot/lnmp/test/down/vpser.txt
  • 即:/home/wwwroot/lnmp/test/+/down=/wwwroot/lnmp/test/down/

查看日志

access_log  /root/access.log;
error_log   /root/error.log;