安装OpenResty

包管理安装

OpenResty 现在提供了 CentOS 上的 官方包open in new window。 只需运行下面的命令:

# add the yum repo:
wget https://openresty.org/package/centos/openresty.repo
sudo mv openresty.repo /etc/yum.repos.d/

# update the yum index:
sudo yum check-update

sudo yum install -y openresty openresty-resty

源码包准备

首先要在官网下载open in new window OpenResty 的源码包。

官网上会提供很多的版本,各个版本有什么不同也会有说明,可以按需选择下载,这里下载 openresty-1.21.4.1.tar.gzopen in new window

依赖库安装

sudo yum install -y readline-devel pcre-devel openssl-devel perl perl-devel perl-ExtUtils-Embed  libxml2 libxslt-devel gd-devel GeoIP GeoIP-devel google-perftools google-perftools-devel

安装OpenResty

mkdir -p /opt/softwares/ && cd /opt/softwares

wget https://openresty.org/download/openresty-1.21.4.1.tar.gz && tar xf openresty-1.21.4.1.tar.gz && cd openresty-1.21.4.1

./configure --prefix=/usr/local/openresty \
            --with-file-aio \
            --with-http_auth_request_module \
            --with-http_v2_module \
            --with-http_sub_module \
            --with-http_realip_module \
            --with-http_addition_module \
            --with-http_xslt_module=dynamic \
            --with-http_image_filter_module=dynamic \
            --with-http_geoip_module=dynamic \
            --with-http_dav_module \
            --with-http_flv_module \
            --with-http_mp4_module \
            --with-http_gunzip_module \
            --with-http_gzip_static_module \
            --with-http_random_index_module \
            --with-http_secure_link_module \
            --with-http_degradation_module \
            --with-http_slice_module \
            --with-http_stub_status_module \
            --with-http_perl_module=dynamic \
            --with-mail=dynamic \
            --with-mail_ssl_module \
            --with-pcre \
            --with-pcre-jit \
            --with-stream=dynamic \
            --with-stream_ssl_module \
            --with-google_perftools_module \
            --with-debug \
            --with-http_iconv_module

gmake && gmake install

至此 OpenResty 软件安装完毕。

设置环境变量

echo 'export PATH=$PATH:/usr/local/openresty/nginx/sbin' >> /etc/profile && source /etc/profile

配置开机自启动

echo "[Unit]
Description=The OpenResty Application Platform
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/usr/local/openresty/nginx/logs/nginx.pid
ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t
ExecStart=/usr/local/openresty/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target" >> /etc/systemd/system/multi-user.target.wants/openresty.service

systemctl enable openresty
systemctl start openresty

简单配置

隐藏服务器信息

在响应头信息中隐藏web服务器信息。

http {
    server_tokens off; # 隐藏服务器版本
    more_clear_headers 'Server'; # 隐藏服务器Server字段
}

开发环境调试lua脚本

location / {
    lua_code_cache off; # 开发时使用,生产环境请删除
    default_type text/html;
    content_by_lua_file '/usr/local/openresty/lua/hello-world.lua'; # 当修改文件内容时,会实时生效
}