普通用户源码编译安装nginx

环境

[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)

准备相关的安装包

上传到 /usr/local/src

[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# ls | grep ".gz"
nginx-1.18.0.tar.gz
openssl-fips-2.0.16.tar.gz
pcre-8.40.tar.gz
perl-5.28.0.tar.gz
zlib-1.2.11.tar.gz

安装c++编译环境

检查是否已经安装了gcc-c++

[root@localhost ~]# rpm -qa gcc-c++
gcc-c++-4.8.5-44.el7.x86_64
[root@localhost nginx]# gcc -v
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)

离线安装gcc

准备安装包,从centos镜像中取。 Centos.iso/Packages/
把包上传到:/usr/local/src/gcc

[root@localhost gcc]# pwd
/usr/local/src/gcc
[root@localhost gcc]# ls
cpp-4.8.5-39.el7.x86_64.rpm
gcc-4.8.5-39.el7.x86_64.rpm
gcc-c++-4.8.5-39.el7.x86_64.rpm
glibc-devel-2.17-292.el7.x86_64.rpm
glibc-headers-2.17-292.el7.x86_64.rpm
kernel-headers-3.10.0-1062.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
libstdc++-devel-4.8.5-39.el7.x86_64.rpm
mpfr-3.1.1-4.el7.x86_64.rpm
[root@localhost gcc]# rpm -Uvh *.rpm --nodeps --force
Preparing...                          ################################# [100%]
Updating / installing...
   1:mpfr-3.1.1-4.el7                 ################################# [ 14%]
   2:libmpc-1.0.1-3.el7               ################################# [ 29%]
   3:cpp-4.8.5-39.el7                 ################################# [ 43%]
   4:kernel-headers-3.10.0-1062.el7   ################################# [ 57%]
   5:glibc-headers-2.17-292.el7       ################################# [ 71%]
   6:glibc-devel-2.17-292.el7         ################################# [ 86%]
   7:gcc-4.8.5-39.el7                 ################################# [100%]
[root@localhost gcc]# libstdc++-devel-4.8.5-39.el7.x86_64.rpm
[root@localhost gcc]# gcc-c++-4.8.5-39.el7.x86_64.rpm

安装perl

安装Openssl需要perl指令

检查是否安装perl

 [root@localhost nginx]# perl -v
This is perl 5, version 28, subversion 0 (v5.28.0) built for x86_64-linux

离线安装perl

tar -xzf perl-5.28.0.tar.gz
cd perl-5.28.0
./Configure -des -Dprefix=$HOME/localperl
make
make test
make install

安装openssl

[root@localhost src]# tar -xzvf openssl-fips-2.0.16
[root@localhost src]# cd openssl-fips-2.0.16
[root@localhost openssl-fips-2.0.16]# ./config && make && make install
[root@localhost src]# whereis openssl
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/share/man/man1/openssl.1ssl.gz
[root@localhost src]# openssl version -a
OpenSSL 1.0.2k-fips  26 Jan 2017

安装Pcre

[root@localhost src]# tar -xzvf pcre-8.40
[root@localhost src]# cd pcre-8.40
[root@localhost pcre-8.40]# ./configure && make && make install
[root@localhost src]# rpm -qa pcre
pcre-8.32-17.el7.x86_64

安装zlib

[root@localhost src]# tar -xzvf zlib-1.2.11
[root@localhost src]# cd zlib-1.2.11
[root@localhost zlib-1.2.11]# ./configure && make && make install
[root@localhost src]# rpm -ql zlib
/usr/lib64/libz.so.1
/usr/lib64/libz.so.1.2.7
/usr/share/doc/zlib-1.2.7
/usr/share/doc/zlib-1.2.7/ChangeLog
/usr/share/doc/zlib-1.2.7/FAQ
/usr/share/doc/zlib-1.2.7/README

使用tomcat用户安装nginx

[root@localhost src]# tar -xzvf nginx-1.18.0
[root@localhost src]# cd nginx-1.18.0
[root@localhost nginx-1.18.0]# ./configure --prefix=/home/tomcat/local/nginx
[root@localhost nginx-1.18.0]# .make
[root@localhost nginx-1.18.0]#  make install
# 安装后nginx所在目录
[tomcat@localhost conf]$ cd /home/tomcat/local/
[tomcat@localhost local]$ ls
nginx
# 修改所属用户
[root@localhost tomcat]# chown -R tomcat:tomcat local/
# 创建软连接
[root@localhost local]# ln -s /home/tomcat/local/nginx/sbin/nginx /usr/bin/nginx
[root@localhost local]# chown tomcat:tomcat /usr/bin/nginx

# 放开端口80 
[root@localhost local]# firewall-cmd --zone=public --permanent --add-port=80/tcp
# 访问80端口转9999端口
[root@localhost local]# firewall-cmd --zone=public --permanent \
--add-forward-port=port=80:proto=tcp:toport=9999
# 重启防火墙
[root@localhost local]# systemctl restart firewalld

nginx开机启动

[root@localhost ~]# vi /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
  
[Service]
Type=forking
ExecStart=/home/tomcat/local/nginx/sbin/nginx
ExecReload=/home/tomcat/local/nginx/sbin/nginx -s reload
ExecStop=/home/tomcat/local/nginx/sbin/nginx -s quit
#PrivateTmp=true
User=tomcat
Group=tomcat
  
[Install]
WantedBy=multi-user.target
[root@localhost ~]# systemctl enable nginx
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_26264237

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值