配置阿里云yum源 安装如下编译工具
yum install -y gcc gcc-c++ autoconf automake make
#安装使用nginx还得安装nginx所需的一些第三方系统库的支持,比如nginx的静态资源压缩功能所需的gzip lib库,nginx需要支持URL重写,所需的pcre库,perl开发的依赖库,以及nginx搭建加密站点https,所需的openssl依赖库等
yum install zlib zlib-devel openssl openssl-devel pcre pcre-devel wget httpd-tools vim
#安装完毕nginx所需的基础依赖库,还得检查系统的防火墙是否关闭,selinux关闭,yum配置,网络情况等等
#执行如下命令检查
iptables -L
getenforce
ping baidu.com
1.下载程序源代码,从nginx官网下载的代码是源nginx代码
wget http://nginx.org/download/nginx-1.17.10.tar.gz
还可以获取淘宝的nginx代码
http://tengine.taobao.org/ #淘宝nginx官网
wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz
2.解压文件
tar -zxvf tengine-2.3.2.tar.gz
2.1拷贝nginx的配置文件语法高亮,发给vim的插件目录
[root@iZ2vce9vkv6wgvss1g3b0nZ opt]# mkdir -p ~/.vim
[root@iZ2vce9vkv6wgvss1g3b0nZ opt]# cp -r /opt/tengine-2.3.2/contrib/vim/* ~/.vim
3.进入nginx,准备开始编译安装
[root@iZ2vce9vkv6wgvss1g3b0nZ tengine-2.3.2]# ll
total 412
-rw-rw-r-- 1 root root 889 Sep 5 2019 AUTHORS.te
drwxrwxr-x 6 root root 4096 Sep 5 2019 auto 检测系统模块依赖信息
-rw-rw-r-- 1 root root 298825 Sep 5 2019 CHANGES 存放nginx的变化记录日志
-rw-rw-r-- 1 root root 25609 Sep 5 2019 CHANGES.cn
-rw-rw-r-- 1 root root 32748 Sep 5 2019 CHANGES.te
drwxrwxr-x 2 root root 4096 Sep 5 2019 conf 存放nginx主配置文件的目录
-rwxrwxr-x 1 root root 2502 Sep 5 2019 configure 可执行的脚本,用于释放编译文件的定制脚本
drwxrwxr-x 4 root root 4096 Sep 5 2019 contrib 提供了vim插件,让文件颜色区分
drwxrwxr-x 4 root root 4096 Sep 5 2019 docs
drwxrwxr-x 2 root root 4096 Sep 5 2019 html 存放了标准的html页面文件
-rw-rw-r-- 1 root root 1715 Sep 5 2019 LICENSE
drwxrwxr-x 2 root root 4096 Sep 5 2019 man
drwxrwxr-x 26 root root 4096 Sep 5 2019 modules
drwxrwxr-x 3 root root 4096 Sep 5 2019 packages
-rw-rw-r-- 1 root root 3421 Sep 5 2019 README.markdown
drwxrwxr-x 10 root root 4096 Sep 5 2019 src 存放了nginx源代码的目录
drwxrwxr-x 4 root root 4096 Sep 5 2019 tests
-rw-rw-r-- 1 root root 43 Sep 5 2019 THANKS.te
4.开始准备编译三部曲
第一曲:进入软件源代码目录,执行编译脚本文件,如制定安装路径,以及开启额外功能等
首先,查看编译脚本的信息
[root@iZ2vce9vkv6wgvss1g3b0nZ tengine-2.3.2]# ./configure --help
执行编译脚本文件,释放makefile等信息
./configure --prefix=/opt/tngx232 --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-threads --with-file-aio
第二曲:直接开始下一步安装,输入make指令
第三曲:如同点击开始安装 make install
5.查看安装后的nginx目录
[root@iZ2vce9vkv6wgvss1g3b0nZ opt]# cd tngx232/
[root@iZ2vce9vkv6wgvss1g3b0nZ tngx232]# ls
conf html logs sbin
conf存放nginx的配置文件 如nginx.conf
html存放nginx的网页根目录文件,存放站点的静态文件数据
logs存放nginx的各种日志目录
sbin存放该软件的可执行命令
6.若是直接执行 nginx命令,默认是代表启动nginx进程
#若是出现如上问题,如何解决
$绝对路径启动
/opt/tngx232//sbin/nginx
$配置 PATH变量,把nginx的sbin目录加入到PATH当中
6.1编写一个nginx的专属环境变量,创建一个脚本文件
vim /etc/profile
[root@iZ2vce9vkv6wgvss1g3b0nZ sbin]# vim /etc/profile.d/nginx.sh
[root@iZ2vce9vkv6wgvss1g3b0nZ sbin]# cat /etc/profile.d/nginx.sh
export PATH="$PATH:/opt/tngx232/sbin/"
[root@iZ2vce9vkv6wgvss1g3b0nZ sbin]#
7.退出当前绘画,重新登陆,系统默认加载/etc/profile.d下所有的环境变量文件
exit
重新登陆
查看nginx变量是否呗添加了
8.此时就可快捷使用nginx各种指令了
nginx #首次直接输入nginx,表示启动该进程,如果你再次启动则报错,端口被占用,注意这个坑 netstat -tunlp|grep nginx 查看端口
nginx -s stop #可以停止nginx,再次启动nginx服务,用于重新加载nginx配置
#如果不想重启nginx,直接重新加载配置文件,nginx提供了一个reload功能,能够在不重启nginx服务下,直接重新读取配置文件功能
nginx -s reload #平滑重启
9.此时检查nginx的编译安装信息
[root@iZ2vce9vkv6wgvss1g3b0nZ ~]# nginx -V
Tengine version: Tengine/2.3.2
nginx version: nginx/1.17.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/opt/tngx232 --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-threads --with-file-aio