ngxinx基本使用
前言
ngxin的所有功能,一般都是在nginx的配置文件中完成的。
所以这同样也是一篇nginx配置文件的熟练过程。
虚拟主机
nginx使用虚拟主机来配置站点:每个虚拟主机使用server { } 来配置
server {
# listen用来配置监听端口,server_name为虚拟主机服务名称
listen 443 ssl;
server_name dingshaohua.com;
# 证书位置
ssl_certificate /etc/letsencrypt/live/dingshaohua.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/dingshaohua.com/privkey.pem;
#证书校验(通用)
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 路由
location / {
root /home/webroot/book-ding;
}
}
虚拟主机服务匹配机制,当server_name 都没有匹配上的时候,会默认走配置的第一个虚拟主机。
这可能会导致别人的域名恶意解析到你得服务器上,所以你可以这么做:
server {
listen 80 default_server;
listen 443 ssl default_server;
server_name _;
ssl_reject_handshake on;
return 444;
}
根路径
当浏览器访问nginx服务的时候,默认的页面路径,
一般安装方式不同,根路径也不同
编译包的路径一般在:/usr/local/nginx/html
yum 安装的一般在: /usr/share/nginx/html
当然这个是可以后期改的,进入nginx.conf,如下就把根路径改成了/home/website
location / {
# root html;
root /home/website;
index index.html index.htm;
}
root和alias
root和alias都是系统文件路径的设置,root用来设置根目录,而alias用来重置当前文件的目录。
#若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件
location /img/ {
alias /var/www/image/;
}
#若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件。
location /img/ {
root /var/www/image;
}
日志输出
缺省安装下,浏览器是无法访问日志的。
在编译的时候附带参数安装此模块(安装后记得make和make install)
./configure --prefix=/usr/local/nginx --with-http_stub_status_module
然后再配置一下访问地址
location /status {
stub_status on;
access_log /usr/local/nginx/logs/access.log;
auth_basic "NginxStatus";
}

然后浏览器里输入http://ip/status即可访问。
报错集
缺少SSL模块
如果项目里用到了ssl,之后在nginx启动却从报错:
nginx https protocol requires SSL support in
说明你用到了ssl,比如https等,那么编译安装的时候加如下模块即可(安装后记得make和make install)
./configure --prefix=/usr/local/nginx --with-http_ssl_module
nginx.pid丢失
这文件一不小心就丢了,丢了之后就无法启动
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
解决办法如下,执行命令重新生成该文件即可,完成后再次尝试重启nginx 一般就即成功
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ngxinx基本使用的更多相关文章
- ngxinx 配置
vim 复制操作 1.复制 1)单行复制 在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制: 2)多行复制 在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行: 其中n为1. ...
- docker+fastdfs+nginx 实现分布式大文件存储系统以及视频缓存播放
废话不多说,直接开撸 首先是一些准备工作: 1.关闭防火墙 service iptables stop --- fastdfs虽然在docker部署,但是使用的是主机网络,所以关闭防火墙. 2 下载 ...
- linux学习五
一.系统服务管理 1.概念 服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程 序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是 ...
- TIME_WAIT状态全是3306解决办法
刚吃完晚饭,手机短信一直响个不停,打开一看全是告警信息,立即打开电脑查看,发现很多网页很不稳定 一会能打开,一会打不开 登录服务器查看负载情况,cpu.内存 .磁盘io 负载都不高,查看日志发现ng ...
随机推荐
- Armbian 安装与更换为国内软件源
Armbian 是为 ARM 架构的单板计算机(如树莓派.NanoPi.Orange Pi 等)提供的开源镜像系统,它基于 Debian 或 Ubuntu 系统.在使用 Armbian 进行开发.调试 ...
- spring cloud alibaba的小坑:Caused by: com.alibaba.nacos.api.exception.NacosException: endpoint is blank报错问题,
一.是因为加添spring cloud alibaba配置中心依赖和bootstrap.xml又不使用的问题
- OAuth2.0 学习
- 使用python批量爬取wallhaven.cc壁纸站壁纸
偶然发现https://wallhaven.cc/这个壁纸站的壁纸还不错,尤其是更新比较频繁,用python写个脚本爬取 点latest,按照更新先后排序,获得新地址,发现地址是分页展示的,每一页24 ...
- python之random函数,随机取值
如 a =['辣椒炒肉','红烧肉','剁椒鱼头','酸辣土豆丝','芹菜香干'] 需要从a数组中随机取出一个值打印出来 具体脚本 import random a =['辣椒炒肉','红烧肉','剁椒 ...
- nodejs获取一个可用的端口,检查端口是否被占用(完美方案)
nodejs检查端口是否被占用,先看个运行效果: E:\wamp64\www\tmpPro\tryuseport>node t.js 端口:8022被占用 端口:8023被占用 端口:8024可 ...
- 小白也能行【手撕ResNet代码篇(附代码)】:详解可复现
目录 前言 model BasicBlock 和Bottleneck ResNet ResNet18\34\50\101\152 data train test 代码运行以及测试结果 前言 之前已经给 ...
- Java--事务,操作数据库,实现转账
更新:2019/3/29 目录 简介 事务的四个特性 一个小Demo 目录结构 jdbc.properties JDBCUtil.java TestTransaction.java[核心代码] 数据库 ...
- Codeforces Round 978 (Div. 2) A-D1 题解
A. Bus to Pénjamo 题意 有一辆车上面有 \(r\) 排座位,每排有 \(2\) 个座位,现在共 \(n\) 个家庭出行坐公交车,每个家庭 \(a_i\) 个人(保证 \(2r\ge ...
- FHQ treap(无旋treap)
平衡树 平衡树作为一种中级数据结构,有着广泛的使用场景.其平衡性的维护方式灵活多变,而其中的无旋treap更以简单著称 P3369 [模板]普通平衡树 题意: 需维护以下操作: 插入一个数 x. 删除 ...