安装所需依赖
如果认为自己的环境中已经有了对应的依赖, 也可以不用执行
yum -y install wget gcc gcc-c++ autoconf automake make zlib zlib-devel pcre-devel pcre openssl openssl-devel
下载源码
直接到官网中, 选择一个合适的版本即可, 附上官网下载链接 https://nginx.org/en/download.html
当前最新的稳定版是1.18
可以通过右击->复制链接地址来快速获取下载链接, 如下图
找到一个合适的目录, 使用wget
下载
cd /data/programs
# 加上-c参数使用断点续传
wget -c https://nginx.org/download/nginx-1.12.2.tar.gz
解压源代码
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2/
配置
如果没有什么特殊操作, 直接使用默认的操作就可以也, 但是我需要添加https
和http2
支持, 就需要使用自定义参数了, 先看一下configure --help
./configure --help | more
...
--without-poll_module disable poll module
--with-threads enable thread pool support
--with-file-aio enable file AIO support
--with-http_ssl_module enable ngx_http_ssl_module
--with-http_v2_module enable ngx_http_v2_module
...
可以看到, 默认是不会编译https
和http2
模块的
关于参数, --with
是指默认不会编译模块, 手动加上这个参数, 就会编译该模块
--without
是指默认会编译该模块, 如果加上该参数, 是指将该模块去除
我最终的配置参数为
./configure --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-stream
编译安装
make && make install
nginx
默认会安装在/usr/local/nginx
目录下
启动nginx
# 启动
/usr/local/nginx/sbin/nginx
# 重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload
# 立刻停止服务
/usr/local/nginx/sbin/nginx -s stop
# 优雅的停止服务
/usr/local/nginx/sbin/nginx -s quit
# 重新开使记录日志文件
/usr/local/nginx/sbin/nginx reopen
# 可以选择将nginx拷贝到 /usr/bin 下, 这样就可以直接使用nginx命令了
cp /usr/local/nginx/sbin/nginx /usr/bin/nginx
常用的nginx命令
# 测试配置文件
nginx -t
# 指定nginx.conf配置文件所在的位置, 将会覆盖默认的nginx.conf
nginx -c /path/to/nginx.conf
# 帮助
nginx -? 或者 -h
# 指定运行目录
nginx -p
# 发送信号
nginx -s
# 打印版本信息, 编译信息
nginx -v 或 -V
查看编译参数
使用nginx -V
即可
nginx -V
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-stream
开启gzip
开启gzip
能大幅度减少数据传输大小
首先打开/usr/local/nginx/conf/nginx.conf
, 找到 gzip on;
去除前面的注释
另起一行, 按需要添加下列的配置
# 小于设定的大小的文件将不会被压缩
gzip_min_length 1k;
# 压缩等级, 推荐的等级是5-7, 一般使用6, 其实1已经够用了, 7以上和7的压缩大小已经差别不大了, 但是cpu消耗会增加许多
gzip_comp_level 6;
# 开启针对文件类型压缩
# 关于文件类型, 可以在 usr/local/nginx/conf/mime.types 这个文件下查看
gzip_types text/plain text/html application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/json application/rss+html;
整体的配置如下图
设置vim中nginx语法高亮
在vim
中开启nginx语法高亮的方法很简单, 不需要下载插件
查看下nginx
的源码目录, 会发现下面有一个contrib
的文件夹, 该文件夹下面有一个vim
子文件夹, 将这个文件夹下面的所有文件复制到 ~/.vim
中即可
cd /data/programs/nginx-1.12.2/
ll
# 查看nginx源码目录, 找到contrib
...
-rwxr-xr-x 1 1001 1001 2.5K 10月 17 2017 configure
drwxr-xr-x 4 1001 1001 4.0K 6月 21 22:23 contrib
...
cd contrib
ll
# 发现vim目录
drwxr-xr-x 6 1001 1001 4.0K 10月 17 2017 vim
将vim
目录复制到 ~/.vim/
中
如果宿主目录下面没有.vim
目录, 创建一个即可
cd ~
# 如果没有 .vim目录 新建一个就行
mkdir .vim
cp -r /data/programs/nginx-1.12.2/contrib/vim/* ./.vim
这个时候就已经成功的开启nginx
的语法高亮了, 下面上两张图来看一下区别
未开启语法高亮
已开启语法高亮
可以看到, 开启语法高亮之后已经可以识别出nginx的关键字了
但是这种方法也有一个缺点, 就是他只支持nginx.conf
这个文件名, 其他的文件名他是不支持高亮的, 下面就来演示一下怎样让他支持更多的文件和我们自定义的目录下的配置文件高亮
扩展nginx语法高亮
上面我们已经复制了nginx
的语法高亮文件, 现在就来配置一下怎么支持其他目录下的配置文件语法高亮
执行一下下面的命令即可
echo -e "au BufRead,BufNewFile /data/conf/nginx/vhost/*,/usr/local/nginx/conf/* if &ft == '' | setfiletype nginx | endif" >> ~/.vim/filetype.vim
上面的命令中, 我定义了两个目录, 指定vim
使用nginx
的语法高亮