介绍
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等
安装
操作系统:centos6 nginx1.16.1(建议选择稳定版前三到六个月的版本)
安装依赖包
yum install openssl-devel -y
yum install pcre pcre-devel –y(实现伪静态rewrite功能)
rpm –qa检查安装
创建软件包上传和解压的目录(规范),
mkdir /home/xiaobai/tools –p
上传nginx
解压tar xf nginx-1.16.1.tar.gz
进入解压出来的文件夹
cd nginx-1.16.1
进行编译安装前创建nginx用户(进程需要用户)
useradd –s /sbin/nologin nginx –M
编译安装
./configure --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --prefix=/application/nginx-1.16.1/
可以命令行使用echo $?
返回0则编译没问题
然后make 编译成二进制文件。 –j参数指定cpu核数,编译快一点
make install安装
安装完启动nginx
/application/nginx-1.16.1/sbin/nginx –t 检查语法,启动前都得先检查语法
/application/nginx-1.16.1/sbin/nginx 启动
lsof –i :80 netstat –lntup|grep nginx 检查启动
弄完做个软链接,
ln -s /application/nginx-1.16.1/ /application/nginx
具体配置文档可以查看nginx官方
安装有错误的可以看错误日志
favicon.ico是网页标题前面的图标
解决:
日志分析:
Nginx软件会把自身运行的故障信息及用户访问的日志信息记录到指定的日志文件里。包括 PHP 的报错信息,方便查错,例如:
2018/11/26 09:59:17 [error] 11641#0: *38857054 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught UnexpectedValueException: The stream or file “/mnt/web/…/logs/2018-11-26.log” could not be opened: failed to open stream: Permission denied in /mnt/…/Monolog/Handler/StreamHandler.php:107
可以不配置 nginx 的 access_log 必须配置好 error_log。
Nginx错误日志信息介绍
Nginx的错误信息是调试Nginx服务的重要手段,属于核心功能模块(ngx_core_module)的参数,该参数的名字为 error_log,可以放在Main区块中全局配置,也可以放在不同的虚拟主机中单独记录虚拟主机的错误信息
error_log的默认值:
#error_log logs/error.log error;
error_log的语法格式及参数语法说明如下:
error_log
关键字 日志文件 错误日志级别
关键字:其中关键字 error_log 不能改变
日志文件:可以指定任意存放日志的目录
错误日志级别:常见的错误日志级别有[debug | info | notice | warn | error | crit | alert | emerg],级别越高记录的信息越少。
生产场景一般是 warn | error | crit 这三个级别之一
注意:不要配置info等级较低的级别,会带来大量的磁盘I/O消耗。
error_log 参数的标签段位置:main, http, server, location
参考资料:http://nginx.org/en/docs/ngx_core_module.html#error_log
Nginx配置错误日志过程介绍
(1)插入error_log语句
vi conf/vhost/www.abc.com.conf
#vi编辑虚拟主机配置文件
文件内容:
server {
access_log /data/log/www;
listen 80;
server_name abc.com www.abc.com;
location / {
root /data/www/www;
index index.html index.htm;
}
error_log logs/error_www.abc.com.log error;
#新增内容↑
}
(2)重启 Nginx 服务 或 重新加载配置
nginx restart
nginx reload
(3)查看错误日志文件
ll logs/error_www.abc.com.log
-rw-r–r-- 1 root root 2305 Jun 13 18:25 logs/error_www.abc.com.log
查看是否生产该文件,生成该文件则配置成功。
最后要切割日志,防止日志太大,也弄不清楚是哪天的,增加分析难度:
切割脚本,定时执行