转载

nginx入门知识

大家好,我是三锤,今天要跟大家分享的是“nginx”的入门知识。

也是项目需要,所以需要用到nginx,下面直接上干货

安装篇
先来说一下nginx的安装吧,我的安装环境是centos7.2
安装前需要安装以下库:
$ yum install gcc-c++
$ yum install pcre pcre-devel
$ yum install zlib zlib-devel
$ yum install openssl openssl--devel

装完这些依赖后,找个目录使用这个命令下载nginx安装包

wget http://nginx.org/download/nginx-1.7.4.tar.gz

解压nginx压缩包

$   tar -zxvf nginx-1.7.4.tar.gz  

会产生一个nginx-1.7.4 目录,这时进入nginx-1.7.4目录

$   cd  nginx-1.7.4  

接下来安装,make、make install安装

$   ./configure
$   make  
$   make
$   install

想确认是否安装成功? 可以看一下nginx的安装目录

$   whereis nginx 

命令篇

经过一晚上的学习,其实就这么几个(以我本地的路径为例):
启动    /opt/nginx/sbin/nginx   没错 就这么简单
测试配置文件   /opt/nginx/sbin/nginx -t 
格式正确的话,会显示


重新加载配置 /opt/nginx/sbin/nginx -s reload
立即停止 /opt/nginx/sbin/nginx -s stop
优雅停止 /opt/nginx/sbin/nginx -s quit 不同于立即停止,所有访问nginx的进程都结束后,nginx才会停止
查看版本 /opt/nginx/sbin/nginx -v

配置篇
虽然我的经验比较少,不过先将我已经了解的入门知识说出来
主要是nginx.conf这个文件中的几段解释
我们来编辑配置文件 vim /opt/nginx/conf/nginx.conf
第一条#user nobody;的意思是说,以哪个用户执行nginx,使用进程查看命令可以发现执行用户是nobody.
为什么要说一下这个呢,因为nginx作为反向代理,也就是项目和资源的发言人,往往需要自定义应用根目录。
如果你想指定/root下的某个目录的话,对不起。没有权限。你说你chmod 666或者777 可以吗,对不起还是不可以。
所以这种情况的话,你可将这个配置项改为root

worker_processes 1;
这是什么意思呢,就是说起多少个线程去跑nginx.这个值的大小建议是你的cpu个数* cpu核数这样是性能最优的配置方法。

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;
输出一些日志,建议的一种配置是error_log logs/error.log crit ;这种配置主要输出的是重要错误日志

#pid logs/nginx.pid;
指定进程号文件存放地址

events {
worker_connections 1024;
}
这是说,最大链接数,允许多少个链接访问nginx,根据项目和网卡吞吐量自行设置吧。

全局配置说完了,接下是http段的说明。
http {
include mime.types;
default_type application/octet-stream;

#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                 '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

#access_log  logs/access.log  main;



sendfile        on;
#tcp_nopush     on; 

#keepalive_timeout  0; 
keepalive_timeout  65;

#gzip  on;

server {
    listen       80;
    server_name  114.115.143.225;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   html;
        index  index.html index.htm;
    }
正文到此结束
本文目录