引言
本文档旨在提供关于在wlnmp一键安装包所支持的系统中安装、配置和启动OpenResty的详细指南。OpenResty是一个基于Nginx的Web平台,可以使用其LuaJIT引擎运行Lua脚本,在互联网领域得到广泛应用。通过本文档,你将了解如何在你的系统上轻松安装、配置和管理OpenResty,从而为你的网站或应用程序提供稳定可靠的服务。
请注意,OpenResty是基于Nginx的一个变种,因此在本文档中,许多命令和配置都与Nginx类似。在操作OpenResty时,你可以使用Nginx的命令和配置方式进行管理。
1. openresty的安装与卸载
遵循wlnmp一键安装包官网“安装使用”教程。
1.1 添加epel源
1 |
yum install epel-release -y |
请注意,如果不添加epel源,在安装openresty时可能会提示nothing provides libprofiler.so.0()(64bit)错误,这是因为有些依赖包组在epel源中。
1.2 添加wlnmp源
1 |
curl -fsSL "https://sh.wlnmp.com/wlnmp.sh" | bash |
1.3 安装openresty
1 |
yum install wopenresty -y |
请注意,同类型的web服务器软件在系统中同时仅可以存在一个,比如装了openresty就不能装nginx,默认openresty中已集成lua模块。
1.4 卸载openresty
1 |
yum remove wopenresty -y |
请注意,卸载后在/usr/local/nginx/和/data/logs/nginx/目录下,还会保留部分配置、日志文件,如确定不再需要,可以对这两个目录进行删除操作,即rm -rf /usr/local/nginx/ /data/logs/nginx/,此时完美卸载完成,没有其它残留文件。
1.5 升级openresty
1 |
yum update wopenresty -y |
请注意,当wlnmp一键安装包有更新时,可直接通过yum update wopenresty方式直接升级,升级前请做好重要数据备份,避免由于某些原因导致升级失败,升级时不会覆盖原有正在使用的配置文件,但会导致openresty服务重启。
1.6 查询openresty所包含的文件
我们可以通过rpm -ql wopenresty来查看,wopenresty包产生了哪些文件。
2. openresty的配置
2.1 配置文件目录
遵循标准编译路径配置,默认openresty配置目录在/usr/local/nginx/下。
2.2 配置php支持
在/usr/local/nginx/conf/vhost/demo.conf中启用include enable-phpXX.conf;字段即可,需要哪个版本的php就启用哪个,如果已删除了demo.conf文件,可在需要的server字段中增加。
include enable-php56.conf;
include enable-php70.conf;
include enable-php71.conf;
include enable-php72.conf;
include enable-php73.conf;
include enable-php74.conf;
include enable-php8.conf;
include enable-php81.conf;
include enable-php82.conf;
include enable-php83.conf;
2.3 默认包含的模块
可通过nginx -V进行查看,截至本文档发文,目前openresty所支持的模块如下
nginx version: openresty/1.25.3.1
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-20) (GCC)
built with OpenSSL 3.0.13+quic 30 Jan 2024
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-cc-opt='-O2 -O2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC -fstack-clash-protection -I./openssl-openssl-3.0.13-quic1/include' --add-module=../ngx_devel_kit-0.3.3 --add-module=../echo-nginx-module-0.63 --add-module=../xss-nginx-module-0.06 --add-module=../ngx_coolkit-0.2 --add-module=../set-misc-nginx-module-0.33 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.09 --add-module=../srcache-nginx-module-0.33 --add-module=../ngx_lua-0.10.26 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.37 --add-module=../array-var-nginx-module-0.06 --add-module=../memc-nginx-module-0.20 --add-module=../redis2-nginx-module-0.15 --add-module=../redis-nginx-module-0.3.9 --add-module=../rds-json-nginx-module-0.16 --add-module=../rds-csv-nginx-module-0.09 --add-module=../ngx_stream_lua-0.0.14 --with-ld-opt='-Wl,-rpath,/usr/local/luajit/lib -Wl,-rpath,$LUAJIT_LIB -Wl,-z,relro -Wl,-z,now -L./openssl-openssl-3.0.13-quic1/lib' --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-http_realip_module --with-google_perftools_module --with-stream --with-http_mp4_module --with-http_flv_module --with-http_gunzip_module --with-http_image_filter_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_slice_module --with-http_stub_status_module --with-http_xslt_module --with-mail --with-mail_ssl_module --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_secure_link_module --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-select_module --with-http_v3_module --with-openssl=/root/rpmbuild/BUILD/wopenresty-1.25.3.1/openssl-openssl-3.0.13-quic1 --with-openssl-opt=-g --with-stream --without-pcre2
2.4 日志转储
已集成logrotate日志转储,默认log日志请指向/data/logs/nginx/目录下,并以.log结尾,通过/etc/logrotate.d/nginx预设的规则,所有以.log结尾的日志文件将在每天执行一次(通常在凌晨,没有固定的时间),保留最新的10个日志文件,旧的日志文件将被压缩并追加日期,同时发送信号给openresty进程以切换到新的日志文件。
3. 启动和管理openresty
wlnmp一键安装包所安装的openresty,支持传统的SysV和现代的systemd两种管理方式,并且可以通用。
3.1 查询openresty状态
查询openresty启动状态可以使用以下两种命令(任选其一)
1 |
/etc/init.d/nginx status |
1 |
systemctl status nginx |
3.2 停止openresty
停止openresty可以使用以下两种命令(任选其一)
1 |
/etc/init.d/nginx stop |
1 |
systemctl stop nginx |
3.3 启动openresty
启动openresty可以使用以下两种命令(任选其一)
1 |
/etc/init.d/nginx start |
1 |
systemctl start nginx |
注1:在1.25.3.1之前,默认安装完成openresty后会自动启动服务,从1.25.3.1开始之后,默认安装完成openresty后服务不会自动启动。
注2:并没有明确要求用哪种方式启动管理openresty,你可以通过/etc/init.d/nginx start,然后systemctl stop nginx停止,请结合个人喜好进行选择,推荐使用/etc/init.d/nginx方式,因为可以通过TAB命令补全。
4. 结论
通过本文档,可以详细的了解到openresty的包安装、配置和管理等,请根据你的实际需求进行配置和调整,了解openresty软件更多信息,请参阅openresty官方文档或其它相关资源。
本文档结合实际情况及使用需求不定期进行更新,对于有一定Linux运维经验的用户来说,非常容易上手。