sunln00 2020-04-19
这里举例Nginx的源码安装,需要前往Nginx官网找到稳定版本源码安装包下载。
## 源码安装nginx # 0.安装依赖 [ nginx-1.16.1]# yum install -y gcc gcc-c++ glibc zlib-devel pcre-devel openssl-devel # 1.下载nginx源码包 [ ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz # 2.解压 [ ~]# tar xf nginx-1.16.1.tar.gz [ ~]# cd nginx-1.16.1 # 3.生成,--prefix 即安装路径 [ nginx-1.16.1]# useradd nginx -s /sbin/nologin -M [ nginx-1.16.1]# ./configure --prefix=/app/nginx-1.16.1 --user=nginx --group=nginx # 4.编译 [ nginx-1.16.1]# make # 5.安装 [ nginx-1.16.1]# make install # 6.检测配置文件有没有语法错误 [ sbin]# /app/nginx-1.16.1/sbin/nginx -t nginx: the configuration file /app/nginx-1.16.1/conf/nginx.conf syntax is ok nginx: configuration file /app/nginx-1.16.1/conf/nginx.conf test is successful # 7.启动nginx [ sbin]# /app/nginx-1.16.1/sbin/nginx # 8.检测80端口 [ sbin]# netstat -lntup|grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 13468/nginx: master # 9.做软连接 [ nginx-1.16.1]# ln -s /app/nginx-1.16.1 /app/nginx
FPM是一个该死的软件包管理器,主要是用来构建软件包(deb,rpm等等)。使用fpm命令需要一些依赖,
主要是ruby
、rubygems
和ruby-devel
,如果我们构建的是rpm包,那还需要rpm-build
这个依赖包。
FPM的工具在国内难以下载,我在博客的后台暂存了一份fpm工具包,点击下载即可(FPM工具包)
# 先了解一下fpm命令 fpm:制作rpm包命令 -s:dir # 打目录 -t:rpm # 把目录打成rpm包 -n:nginx # 软件名字叫nginx -v:1.16.1 # 软件的版本号 -d: # 指定nginx的依赖包 -f: # 指定要达成rpm包的目录路径 --post-install # 指定rpm包安装完成之后要执行的脚本 --pre-install # 指定rpm包安装之前,要执行的脚本
## 制作rpm包(用fpm 工具) [ ~]# mkdir fpm [ ~]# mv fpm-1.3.3.x86_64.tar.gz fpm [ fpm]# cd /root/fpm/ # 1. 解压 [ fpm]# tar xf fpm-1.3.3.x86_64.tar.gz # 2.安装ruby [ fpm]# yum -y install ruby rubygems ruby-devel rpm-build # 都是gem命令的依赖包,rpm-build是制作rpm包的依赖包 # 3.查看gem的源 [ fpm]# gem sources --list *** CURRENT SOURCES *** https://rubygems.org/ # 4.更换阿里云的源 先移除国外源 [ fpm]# gem sources --remove https://rubygems.org/ # 5.更换阿里云的源, 添加阿里云的源 [ fpm]# gem sources -a https://mirrors.aliyun.com/rubygems/ # 6.使用gem命令安装当前目录下所有的.gem文件 [ fpm]# gem install *.gem # 7.写出安装rpm之后要执行的脚本 [ ~]# vim /root/nginx.sh #!/bin/bash useradd nginx -s /sbin/nologin -M ln -s /app/nginx-1.16.1 /app/nginx # 8.使用fpm打包 [ fpm]# fpm -s dir -t rpm -n nginx -v 1.16.1 -d ‘zlib-devel,gcc,glibc,pcre-devel,glibc,openssl-devel,gcc-c++‘ --post-install /root/nginx.sh -f /app/nginx-1.16.1/