干货Nginx与Openresty
Posted 星辰工作室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了干货Nginx与Openresty相关的知识,希望对你有一定的参考价值。
nginx与Openresty
各位客官节日快乐!!!
寒假给SA小朋友布置的任务是Discuz部署,今天先拿Nginx、php、mysql中的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的主要内容,如果未能解决你的问题,请参考以下文章