今天想安装下最新版Nginx玩玩,结果百度上的教程都是坑爹的。都是错误了,不是路径对不上,就是有些库没安装,问题多多。
写个比较正常方便的安装方法给需要安装nginx的人。(方法结合百度上的教程,如有雷同,纯属抄袭)
教程开始:
测试环境:CentOS 6-9
测试环境:Debian 11
安装编译工具及库文件
CentOS
# yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre-devel
#Debian 11
apt update
apt upgrade
apt install build-essential zlib1g-dev libpcre3-dev libssl-dev
useradd -r www #创建Nginx用户和组
安装Nginx
下载 Nginx,Nginx官网
#wget http://nginx.org/download/nginx-1.11.9.tar.gz
解压安装包
#tar zxvf nginx-1.11.9.tar.gz
进入安装包目录
#cd nginx-1.11.9
编译安装
我一般安装这些模块
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module
下面是简单安装
#./configure --prefix=/usr/local/nginx
#make
#make install
查看nginx版本
#/usr/local/nginx/sbin/nginx -v
到此,nginx安装完成。
Nginx 常用命令
#/usr/local/nginx/sbin/nginx #启动 Nginx
#/usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件
#/usr/local/nginx/sbin/nginx -s reopen # 重启 Nginx
#/usr/local/nginx/sbin/nginx -s stop # 停止 Nginx
启动Nginx后在浏览器输入IP显示如下
常用模块安装命令,在编译的时候在后面即可安装如:./configure --prefix=/usr/local/nginx --with-http_image_filter_module
--with-http_image_filter_module #图片格式变换
--with-http_stub_status_module #监控模块,获取连接状态数量
--with-http_slice_module #切片模块(主要用于反代理缓存方面)
--with-http_ssl_module #支持https模块
--with-file-aio #启用file aio支持
--with-http_realip_module #在反代理方面获取原用户真实IP
--with-http_gzip_static_module #静态压缩
最后一步:将nginx添加到环境变量
vim /etc/profile
在最后面写入如下代码
PATH=$PATH:/usr/local/nginx/sbin
export PATH
最后执行: source /etc/profile
至此,编译安装nginx完成!
我们就可不带路径启动nginx了
nginx #启动 Nginx
nginx -s stop # 停止 Nginx
nginx -s quit
nginx -s reload # 重新载入配置文件
如果要配置开机启动等等,自行百度,Debian自行百度
CentOS的配置简单的开机启动方法
修改rc.local,这个文件在开机后会加载一次里面的命令,相当与sh脚本,我们可以在该文件中可以插入一些自定义的启动和初始化命令
文件路径:/etc/rc.d/rc.local
我们在里面最后加入nginx启动命令即可
/usr/local/nginx/sbin/nginx
加入上面的命令,保存。
注意看看rc.local文件权限是否可执行,一般都不需要修改权限。只是要注意下。
就可以重启看看是否可以自动启动了
ps -aux | grep nginx 查看是否执行了