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 ...
随机推荐
- 🎀OpenTelemetry探针介绍及使用
简介 OpenTelemetry(简称 Otel)是由 CNCF 主导的云原生可观测性标准框架,用于统一采集.处理和导出分布式系统中的遥测数据(如追踪.指标.日志).其核心目标是通过标准化协议和工具集 ...
- 机器人操作系统ROS2之简介
什么是ROS2? ROS(机器人操作系统)是用于机器人应用的开源软件开发工具包.ROS 为各行业的开发者提供了一个标准的软件平台,帮助他们从研究和原型设计一直推进到部署和生产,从驱动程序到最先进的算法 ...
- MySQL 中的 Log Buffer 是什么?它有什么作用?
MySQL 中的 Log Buffer 是什么?它有什么作用? Log Buffer 是 MySQL InnoDB 存储引擎的一部分,用于存储写入日志数据的内存区域.它主要用于记录事务的变更日志,这些 ...
- fiddler断点应用
一.作用 1.模拟网络中断 2.断点时篡改数据 3.测试时做一些极端测试 二.断点步骤 1.全局断点 1)全局断点的两种方式 点击状态栏空白框,点击一下请求前断点,两下请求后断点,三下取消断点 Rul ...
- Python 潮流周刊第3季总结,附电子书下载
我订阅了很多的周刊/Newsletter,但是发现它们都有一个共同的毛病:就是缺乏对往期内容的整理,它们很少会对内容数据作统计分析,更没有将内容整理成合集的习惯. 在自己开始连载周刊后,我就想别开生面 ...
- windows下安装maven环境(windows10)
1.下载maven https://archive.apache.org/dist/maven/maven-3/ 2.安装配置 1.解压后新建本地仓库 2.编辑apache-maven-3.0.5-b ...
- 9.9K star!大模型原生即时通信机器人平台,这个开源项目让AI对话更智能!
嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 "高稳定.支持插件.多模态 - 大模型原生即时通信机器人平台" 项目亮点 ...
- 基础 DP 做题记录
Luogu P1192 台阶问题 Link 简要题意: 给定台阶数 \(n\le10^5\) 和一步至多跨越台阶数 \(k\le10^2\) ,初始在 \(0\) 级,求方案数 \(\pmod {10 ...
- 【HUST】网安|软件安全课设|记录
仓库链接 clone之后点开html文件即可使用. 效果如下图: 文章目录 进程通信设计 共享内存(Windows) 初始化共享内存 修改和读取共享内存的内容 共享内存(linux) (尝试使用,但使 ...
- HMM (隐马尔可夫) 推导 (下) - 参数估计 (EM)
HMM (隐马尔可夫) 推导 (下) - 参数估计 (EM) 回顾 HMM 上篇介绍了HMM这样的一种时序类模型, 即描述了一些观测现象的产生, 是由我们很难观测到的 "隐变量因子" ...