一、编译前提,需要安装必要的包
yum install gcc pcre-devel openssl-devel zlib-devel wget -y
二、下载对应的NGINX包
wget http://nginx.org/download/nginx-1.21.0.tar.gz
三、解压nginx
tar xf nginx-1.21.0.tar.gz
四、编译并安装nginx到/usr/local/nginx
目录中(目录无需提前创建)
cd nginx-1.21.6/
./configure --prefix=/usr/local/nginx
make
make install
安装完成后,将在/usr/local/nginx中看到如下目录
conf 存放nginx配置文件,里面的nginx.conf是nginx的核心配置文件
html 默认的html页面存放位置
logs 存放日志文件,包涵请求访问日志与错误日志
sbin 存放nginx运行程序,控制nginx的启动,停止,配置重载等
进入sbin目录,执行./nginx 启动nginx,在浏览器中访问机器ip,可以看到Welcome to nginx!则表示启动成功,若无法访问,可以检查是否被系统防火墙拦截,使用下列命令放行80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
五、为了方便启动可以创建软链接或者修改PATH变量
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
六、开启nginx服务
nginx
七、设置为开机自启动
1、修改centos7自带的开机自启动文件中
vim /etc/rc.d/rc.local
2、添加NGINX的路径
/usr/sbin/nginx
3、这个文件默认没有执行权限,添加执行权限
chmod +x /etc/rc.d/rc.local
注释:执行./configure 会检查当前环境是否满足编译要求,检查当前的环境,并且生成makefile,这个Makefile就是编译的时候使用的,make install 把生成的模块拷贝到相应的目录。
附录:nginx命令使用
一、开启nginx服务
1、使用nginx自带的命令
nginx2、使用systemctl命令
systemctl start nginx二、nginx帮助命令
nginx -?或
nginx -h三、显示nginx的版本号,然后退出
nginx -v四、显示版本和安装时配置选项,然后退出
nginx -V五、测试配置,然后退出
nginx -t六、测试配置,转储然后退出
nginx -T七、关闭nginx服务
nginx -s stop八、重读nginx配置文件
nginx -s reload九、设置前缀路径(默认值:/apps/nginx/)
nginx -p十、设置配置文件(默认为conf/nginx.conf),指定配置文件
nginx -c /data/nginx.conf十一、从配置文件中设置全局指令
nginx -g 指令十二、开机自启动nginx服务
1、使用systemctl 命令
systemctl enable nginx2、编译安装没有systemctl 命令,使用centos7自带的开机自启文件
1)、修改centos7自带的开机自启动文件中
vim /etc/rc.d/rc.local2)、添加NGINX的路径
/usr/sbin/nginx3)、这个文件默认没有执行权限,添加执行权限
chmod +x /etc/rc.d/rc.local
附录:防火墙相关命令
# 关闭防火墙
systemctl stop firewalld# 开启防火墙
systemctl start firewalld# 查看防火墙状态
systemctl status firewalld# 查看防火墙规则
firewall-cmd --list-all# 查询端口是否开放
firewall-cmd --query-port=80/tcp# 开放80端口
firewall-cmd --permanent --add-port=80/tcp# 关闭80端口
firewall-cmd --permanent --remove-port=8080/tcp# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload