Nginx的安装

本文详细介绍了如何在Linux上手动安装Nginx 1.21.6版本,包括选择常用阵营、配置步骤、依赖库安装、编译安装、设置系统服务及防火墙管理。重点讲解了GCC、Perl和Zlib库的安装及Nginx作为系统服务的配置过程。
摘要由CSDN通过智能技术生成

Nginx的安装

版本区别:
常用版本分为四大阵营

Nginx开源版 http://nginx.org/

Nginx plus 商业版 https://www.nginx.com

openresty http://openresty.org/cn/

Tengine http://tengine.taobao.org/

新建目录
在根目录创建文件

#tmp存放临时安装包
mkdir -p /data/tmp
#service存放软件环境
mkdir -p /data/service
#gitee存放代码版本控制库
mkdir -p /data/gitee
#进入放安装包的位置
cd /data/tmp/

#解压
tar -xvf nginx-1.21.6.tar.gz

#删除安装文件
#rm -f nginx-1.21.6.tar.gz

#修改文件位置和名称
mv nginx-1.21.6   /data/service/nginx-source

#进入nginx-source目录,执行以下操作
cd /data/service/nginx-source
#源文件需要编译执行后才能生成可执行文件

#安装gcc、perl库、zlib库、openssl库
 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
 #等价于下面###之中

##################################

安装gcc
yum install -y gcc
#如果没有安装过
#会出现警告或报错
#提示
#checking for OS + Linux 3.10.0-693.el7.x86_64 x86_64 checking for C compiler ... not found ./configure: #error: C compiler cc is not found

安装perl库:
yum install -y pcre pcre-devel
#如果没有安装过 执行编译安装  ./configure  会提示:
#./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by #using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE #library statically from the source with nginx by using --with-pcre=<path> option.
#说明需要安装perl库

安装zlib库:
yum install -y zlib zlib-devel
#如果没有安装过在 执行编译安装  ./configure 会提示:
#./configure: error: the HTTP gzip module requires the zlib library. You can either disable the module by #using --without-http_gzip_module option, or install the zlib library into the system, or build the zlib #library statically from the source with nginx by using --with-zlib=<path> option.
#说明需要安装zlib库

##################################

#编译安装
#不定Nginx工作目录位置
#./configure
#会自己创建Nginx工作目录位置,自己注意看

OsgrV0.png

#在nginx-source的根目录中 执行 
#指定Nginx工作目录位置
./configure --prefix=/data/service/nginx


#问题补充: 如果 ./configure 报错没有权限,则执行如下命令
# chmod + x configure

#在nginx-source的根目录中 执行 
make 

make install

#找Nginx工作目录(就是在 ./configure 配置的路径下,如果你不指定路径他会在创建的时候告诉你,记得看)
#查找工作目录命令
#whereis nginx

#进入Nginx工作目录
启动Nginx
进入安装好的工作目录 /data/service/nginx/sbin 
cd /data/service/nginx/sbin 

#执行相关命令进行启动或停止等操作
./nginx 		   #启动 
./nginx -s stop    #快速停止 
./nginx -s quit    #优雅关闭,在退出前完成已经接受的连接请求 
./nginx -s reload  #重新加载配置

#查看nginx是否启动成功
方案一:
ps -ef|grep nginx

方案二:
ip addr
#查看ip,在浏览器直接输入查到的ip
inet 172.16.241.175
看是否出现nginx标识符
如果网页无法访问说明没有关闭防火墙,参考下面关闭防火墙代码,重新在浏览器输入ip即可
如果是阿里云记得在安全组配置打开80端口,ip也是阿里云服务器给的公网ip地址

[root@iZf8zbg8gk2w4yhoydn6uhZ sbin]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:16:3e:08:7c:c4 brd ff:ff:ff:ff:ff:ff
    inet 172.16.241.175/20 brd 172.16.255.255 scope global dynamic noprefixroute eth0
       valid_lft 312843031sec preferred_lft 312843031sec
    inet6 fe80::216:3eff:fe08:7cc4/64 scope link 
       valid_lft forever preferred_lft forever



关于防火墙
关闭防火墙
systemctl stop firewalld.service
禁止防火墙开机启动
systemctl disable firewalld.service
放行端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙
firewall-cmd --reload



安装成系统服务
创建服务脚本
vi /usr/lib/systemd/system/nginx.service


服务脚本内容
里面的路径是刚才指定Nginx工作目录位置./configure --prefix=/data/service/nginx
##########################################

[Unit] 
Description=nginx - web server 
After=network.target remote-fs.target nss-lookup.target 

[Service] 
Type=forking 
PIDFile=/data/service/nginx/logs/nginx.pid 
ExecStartPre=/data/service/nginx/sbin/nginx -t -c /data/service/nginx/conf/nginx.conf 
ExecStart=/data/service/nginx/sbin/nginx -c /data/service/nginx/conf/nginx.conf 
ExecReload=/data/service/nginx/sbin/nginx -s reload 
ExecStop=/data/service/nginx/sbin/nginx -s stop 
ExecQuit=/data/service/nginx/sbin/nginx -s quit 
PrivateTmp=true 

[Install] 
WantedBy=multi-user.target



##########################################



重新加载系统服务
systemctl daemon-reload

启动服务
systemctl start nginx.service 或者 systemctl start nginx
查看服务
systemctl status nginx
重启服务
systemctl reload nginx  
停止服务
systemctl stop nginx

开机启动
systemctl enable nginx.service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值