干货Nginx与Openresty

Posted 星辰工作室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了干货Nginx与Openresty相关的知识,希望对你有一定的参考价值。

nginx与Openresty

各位客官节日快乐!!! 
寒假给SA小朋友布置的任务是Discuz部署,今天先拿Nginx、phpmysql中的Nginx讲一讲。

工作室目前大部分web环境均为Nginx,而其使用epoll事件模型、有丰富的模块库、配置灵活等优点不一一介绍了。本篇文章主要讲安装使用等基本事项。

安装

CentOS

sudo yum -y install epel-release #依赖库      

sudo yum -y install nginx #安装Nginx      

sudo systemctl enable nginx #开机启动      

sudo systemctl start nginx #启动     

Debian

sudo apt-get install nginx #安装      

sudo update-rc.d nginx defaults #开机启动 

sudo service nginx start #启动

关于systemctl及service差异等会在接下来的文章讲解

Tips

Nginx默认端口80,目录/etc/nginx 
在curl或浏览器等访问有问题时 
0. ps检查进程是否启动 
1. 用lsof或netstat查看端口号是否被监听 
2. iptables(firewalld)服务是否有限制策略

字段及配置讲解

Nginx配置很多,以下主要挑取常见的讲解,遇到问题及时Google。

全局字段

1. user Nginx 进程用户名,推荐用nginx(注意开启nologin) 

2. work_process 工作进程数量,建议设置为等于CPU核心数

3. error_log/access_log 全局错误/访问日志

4. events->worker_connections 连接数上限

http字段

1. server_tokens nginx版本号,建议为off

2. Gzip压缩(建议开启,节约流量) 
gzip on; #开启gzip压缩输出 
gzip_min_length 1k; #最小压缩文件大小 
gzip_buffers 4 16k; #压缩缓冲区 
gzip_comp_level 2; #压缩等级 
gzip_types application/javascript application/x-javascript 
text/css image/jpeg image/gif image/png; #需要压缩的类型

server字段 多虚拟主机域名即多个server字读

1. isten 80; 监听端口

2. server_name www.starstudio.org; 域名

3. index index.html index.htm index.php; 主页加载优先顺序

4. root /var/share/html; web根目录

location location需要熟悉正则匹配语法,以更好处理请求

1. php-fpm 
安装 

sudo yum install php-fpm php-mysql 
配置 

location ~ .php$ {  #正则匹配.php结尾的文件请求 
root  /var/share/html/php; 
fastcgi_pass    127.0.0.1:9000; #转发到9000端口 
#fastcgi_pass    unix:/var/run/php-fpm.sock; #转发到php-fpm.sock 
fastcgi_index    index.php; 
fastcgi_param    SCRIPT_FILENAME; 
$document_root    $fastcgi_script_name; 
include    fastcgi_params; 
}

log

之所以单独抽出log来,是希望大家能养成用log定位问题的习惯,还有就是log需要跟进web访问量进行以天/周等为粒度的切分

编译安装

编译安装不得不提到Openresty。 
由agentzh主导开发,在Nginx的基础上集成了Lua脚本语言,其内部集成了大量精良的Lua库,使得快速构造出胜任高并发连接的高性能Web应用系统成为可能。 由于篇幅有限,在下一篇文章中会以demo形式介绍Openresty。

 Centos等系列的安装在官网http://openresty.org/cn有详细介绍,希望感兴趣的同学可以试着上手






星辰干货店

       通过 逼稿 抢稿 人道主义欺诈的方式搞到的各种干货都堆在这里


         


星辰作工室誉荣提供


以上是关于干货Nginx与Openresty的主要内容,如果未能解决你的问题,请参考以下文章

Openresty的开发闭环初探 | 岂安低调分享

OpenResty与nginx结合执行lua脚本

译OpenResty C 编码风格指南

OpenResty 动态负载均衡

openresty编写代码怎么用命令启动和执行

#yyds干货盘点# nginx代理后端报502