编译安装Nginx记录
通常来说编译不通过都是因为系统环境不满足条件,如缺少包等,本文以 CentOS 7 系统为例,其中有些包如 xxx-devel 在 ubuntu 下一般都是叫做 xxx-dev 的,实在找不到可以使用 apt-file 查找文件属于哪个包。
需要准备好这些包(不用监控可以不用准备 nginx-module-vts):
1 | wget https://nginx.org/download/nginx-1.22.0.tar.gz |
全部解压,然后进入 nginx-1.22.0
目录操作
首先运行一遍 configure 命令
1 | ./configure --prefix=/usr/local/nginx \ |
nginx-module-vts 是监控模块,如果不用监控,可以将这一行删除
user group prefix 这些参数只是个默认值,是可以被配置文件的配置覆盖的
常见报错解决
./configure: error: C compiler cc is not found
1
yum install -y gcc-c++
checking for --with-ld-opt="-ljemalloc" ... not found
1
2
3
4
5
6# centos
yum install -y epel-release
yum install -y jemalloc-devel
# ubuntu
sudo apt install -y libjemalloc-devchecking for zlib library ... not found
1
yum install zlib-devel
You need Perl 5.
1
yum install perl-devel
开始编译
1 | make |
1 | make -j 4 |
4 表示用 4 个核心来编译
安装
创建用户组和用户
1 | groupadd www |
安装可执行文件
可以用 make install
来快速安装,也可以自己进入 objs 目录把 nginx 复制到其他地方,配置文件放在/usr/loca/nginx 下
收尾工作
生成 systemd 文件
vim /usr/lib/systemd/system/nginx.service
1 | [Unit] |
然后就可以愉快的使用 Nginx 了。
创建软链接
添加后就可以直接使用 nginx 命令了
1 | sudo ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx |
配置文件软链接
1 | sudo ln -s /usr/local/nginx/conf/ /etc/nginx |
其他
监控
监控的使用方法可以查看 Nginx使用module_vts模块来做监控
查看编译参数
1 | nginx -V |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
评论