记忆系列-Nginx自己的基本操作
- 165 次检阅

Nginx记忆的笔记怕忘记~另外出售erbi.me域名~有需要的吗?


基本的操作

启动、停止nginx
cd /usr/local/nginx/sbin/
启动
./nginx
加载制定配置文件
./nginx -c xxx.conf(参数-c 指定配置文件路径,如果不加-c参数,Nginx会默认加载其安装目录的conf子目录的nginx.conf文件)
测试Nginx配置是否正确
./nginx -t
nginx服务停止
./nginx -s stop //kill -9 pid
./nginx -s quit

优雅重启
./nginx -s reload
查看nginx的进程号
ps -ef | grep nginx
杀死
killall -9 nginx

虚拟主机配置

首先下面是一个最简单的虚拟主机配置:

所以,和apche一样,可以配置多种类型虚拟主机:

1.基于IP的

2.基于域名的

3.基于端口的

端口就是把监听的端口更改一下就OK了

日志定时切割

首先需要认识一下 access_log的语法:

access_log path[format [buffer=size|off]]

acess_log off;关闭日志

如果需要使用默认的combined格式记录日志:

access_log /logs/guoliangjun.com.access.log;

或者

access_log /logs/guoliangjun.com.access.log combined;

认识access_log参数之后,那么就是解释一下Nginx是不支持像Apache一样使用cronolog来轮转日志,但是可以手动/自动(定时shell)采用实现日志文件日期的切割

先手动:

mv /data/logs/access.log /data/logs/20190824.log
kill -USR1 Nginx主进程号(kill -USR1 cat /usr/local/nginx/logs/nginx.pid)
Nginx主进程号我们是可以用cat pid文件获取到进程号哒~

后shell定时执行:

设置一个定时任务,每天凌晨00:00开始备份昨天的日志,然后重新开启一个新的日志文件。具体实现如下:

vi nginx_logbak.sh

变更shell脚本为可执行文件,并将脚本设置为定时任务启动脚本,放入crontab中。

chmod +x nginx_logbak.sh

crontab -e
0 0 * * * /bin/bash /usr/local/nginx/logs/nginx_logbak.sh

Nginx自动列目录配置

有时候打开一个页面自动会显示列目录,但前提可能需要指定的index页面不存在才行,我们只需要加载autoindex即可:

负载均衡的http upstream

upstream主要提供了简单方法来实现在轮询和客户端IP之间的后端服务器负载均衡,也可以对服务器进行监控检查,简单例子如下:


分享到:

这篇文章有2条评论

  1. NO:3013 / 發布於 - 2019-8-30 #1 回复

    我切日志都是靠logrotate,从没担心过不能切的。
    话说为什么不用systemd来管理服务?

    • 發布於 - 2019-8-31 回复
      郭良俊只狗

      石樱灯笼 因为入门,最近失业,上家公司也没有用到nginx实现负载均衡~而是直接tomcat,没实操过~呜呜

发表评论