1、nginx服务安装,卸载,和配置
1. 安装两种方式
方法一:yum安装,需要提前配置nginx安装源
参考官方内容:[配置nginx的yum源](http://nginx.org/en/linux_packages.html#stable)
然后执行安装命令:
yum install nginx
卸载命令:
yum remove nginx
使用命令:
service nginx start/restart/stop/status #启动,重启,关闭,查看状态
或者
/usr/sbin/nginx -h #查看帮助命令
/usr/sbin/nginx -c /etc/nginx/nginx.conf # 一般启动
/usr/sbin/nginx -s stop/reopen/reload/quit # 停止,重开日志文件,重载配置文件,停止服务
源代码编译可以参考官网文档:官方资料
方式二:源代码编译,安装,好处是可以自行添加插件与模块,或是二次开发
wget http://nginx.org/download/nginx-1.12.2.tar.gz # 从官网获取稳定版地址下载文件
tar zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
# 先安装gcc-c++
yum install gcc gcc-c++
# 安装pcre
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.41.tar.gz
tar -zxvf pcre-8.41.tar.gz
cd pcre-8.41
./configure --prefix=/opt/libs/pcre
make
make install
# 安装zlib
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make --prefix=/opt/libs/zlib
make install
# 安装openssl
wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz.configure
tar -zxvf openssl-1.1.0g.tar.gz
cd openssl-1.1.0g
./config # 不知道为什么,不能指定prefix地点
make
make install
# 安装nginx
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module # 增加ssl协议,https功能的支持
--with-pcre=../pcre-8.41 # 结果最后只能通过下载的源代码 make编译后结果安装
--with-zlib=../zlib-1.2.11 # 结果最后只能通过下载的源代码 make编译后结果安装
--with-openssl=../openssl # 结果最后只能通过下载的源代码 make编译后结果安装
make
make install
2. 重要文件
配置文件:一般/etc/nginx/nginx.conf
日志文件:一般位于/var/log/nginx目录下
2、nginx的平滑升级
1). nginx -V # 查看nginx安装的时候的编译选项
2). 重新按照生产要求,./configure 和 make (注意不要make install)
3). 备份旧文档
cd /usr/local/nginx/sbin/
cp nginx nginx.old
4). 替换Nginx可执行文件
cp /编译目录下的/nginx /usr/local/nginx/sbin/
5). 检查是否成功
./nginx -t
6). 平滑关闭旧版本,启用新版本
kill -USR2 `cat /application/nginx/logs/nginx.pid`
kill -QUIT `cat /application/nginx/logs/nginx.pid.oldbin`
3. nginx配置优化常见优化项
基本上做好以下10项内容的设置,就能提供一个高性能的nginx服务器。
1)workprocess,cpu
worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
2)event事件模型选择epoll模型
3)work_connections连接数设置
events{
use epoll;
worker_connections 102400; # 单个进程的最大连接数
multi_accept on;
}
4)每个进程的最大文件打开数
worker_rlimit_nofile 65535; # 一般等于ulimit -n系统值
5)keepalive timeout会话保持时间
keepalive_timeout 60;
6)GZIP压缩级别
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 4-6; # 一般选择4-6,为了性能
gzip_types text/plain application/x-javascript text/css applications/xml
gzip_vary on;
7)proxy超时设置
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k
8)expires 3d:# 如果静态页面不经常更新,可以将缓存时间设长,减少服务器压力
expires 3d;
9)动静页面分离
image.png
10)nginx cache优化设置
网友评论