Linux下安装Nginx

  • 本人喜欢下载的包都放 /data 目录,看个人喜好后续命令都按照自己位置来 
cd /data
  • 下载安装依赖包:
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl lrzsz vim wget openssl-devel
  • 下载nginx,并解压
wget https://nginx.org/download/nginx-1.19.9.tar.gz

tar -xzvf nginx-1.19.9.tar.gz
  •  进入解压目录,配置并编译
  • 最好安装的时候把以后可能要用到的模块配置全给配置进去,不然后期加就很麻烦 

        --with-http_ssl_module 开启SSL模块,支持https访问的

        --with-http_v2_module 配置HTTP2模块

cd  nginx-1.19.9

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module 

make
  •  安装Nginx到 /usr/local/nginx 目录
make install /usr/local/nginx/
  •  进入Nginx目录启动Nginx
cd /usr/local/nginx

./sbin/nginx
  • 新建 nginx.service 文件
vim /lib/systemd/system/nginx.service
  • 加入自启动配置 
[Unit]
Description=nginx service
After=network.target

[Service]
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • 设置自启动
systemctl enable nginx

systemctl daemon-reload

 

 Nginx的80端口被占用问题

 发现占用80端口居然是阿里云自家的阿里云盾,使用kill命令无法解决依然会重新出来个,使用fuser

sudo fuser -k 80/tcp

执行后再看80端口占用情况没了,启动Nginx正常,状态正常

 也可能会碰到端口未开,使用如下命令查看是否开启,返回 no 则未对外开放

firewall-cmd --query-port=80/tcp

使用如下命令对外开放对应端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

如果上述对外开放了端口还是不能访问,则是云服务商的安全组限制了,去对应的云服务商控制台进行安全组策略配置操作即可。 

腾讯云服务器端口怎么开放?端口开通教程

腾讯云服务器端口怎么开放?端口开通教程 - 腾讯云开发者社区-腾讯云

阿里云添加安全组规则

添加安全组规则_云服务器 ECS-阿里云帮助中心

 访问Nginx主页,显示welcome,至此Nginx安装完成。

Nginx报错:

  • nginx: [emerg] the "http2" parameter requires ngx_http_v2_module in xxx
  • nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in xxx

问题:缺少相应的 http_ssl_module、http_v2_module

解决:因为一般出现这种情况都是装好Nginx的情况下,所以我们要注意备份。

  • 重新配置(选择对应需要的模块即可)
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module 
  • 编译 
make
  •  备份之前装好的Nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
  • 将刚编译好的nginx覆盖到/sbin目录下 
cp ./objs/nginx /usr/local/nginx/sbin/
  • 重启生效
systemctl restart nginx.service
  • 查看安装的版本及对应的模块 
/usr/local/nginx/sbin/nginx -V

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值