大家在学习Linux中,会遇到过源码安装的困扰,今天我就以nginx安装过程中会出现的一些问题来举例,和深入的了解源码安装的过程。
首先Linux软件包大致可分为二进制包,源码包、使用的工具也各不相同。源代码包是没有经过编译的包,需要经过GCC、C++编译器环境才运行,二进制包无需编译,可以直接安装使用。
计算机认识什么语言 计算机语言识别二进制 0和1
高级程序语言 VB vf c c++ Java 越是高级语言 语法越是简单 逻辑越难
c python 比较消耗 cup 大型公司 华为自主研发芯片
Java 比较消耗内存 中小企业 Tomcat多 服务器内存
shell Linux 内核 网络、互联网 服务器、嵌入式
怎么去区分源码包,可以通过后缀简单区分源码包和二进制包。例如.tar.gz . zip 结尾的包通常之为源码,以rpm结尾的软件包称之二进制包。
第一步:首先要下载源码包
登入http://nginx.org官网官网网站,鼠标右键点击复制软件链接
蓝色的nginx.0.17就是版本
1)在命令行输入wget http://nginx.org/download/nginx-1.4.7.tar.gz --就可以开始下载,首先要有wget的命令,一般最小化安装没有 yum -y install wget 进行安装。
2)tat -xf nginx-1.4.7.tar.gz 进行解压
3)cd nginx-1.4.7
预编译
第二步:源码包安装
1)./configure 预编译,主要用于检测系统基准环境库是否满足,生成makefile文件
--prefix=/usr/local/nginx 路径 安装位置 --user= 用户名 --group=用户组 其他就是功能参数--with-http_ssl_module 自定义的安装模块
2)make 编译,基于第一步生成的makefile文件,进行源码代码源码额编译
3)make install 安装,编译完毕之后,将相关的可运行文件安装至系统中
但是编译完以后还要一些其他的依赖包,怎么知道是什么安装包呢?
error:看提示
PCRE就是要求我们要安装的依赖包。
yum -y install pcre-develv
安装完成之后不知道有没有有错?
那么我们就用一个echo $?的命令来进行检测
当输出结果为0时,那么就是运行成功 非0则是表示失败
echo $? 的意思就是检测上一个运行命令结果是否正确。
第三步:启动nginx服务
useradd nginx -s /sbin/nologin 创建预编译指定用户
/nginx/local/nginx/sbin/nginx 启动nginx
/nginx/local/nginx/sbin/nginx -s stop 关闭应用
如果所命令行启动的命令太长可以使用环境变量
PATH=$PATH:/etc/local/nginx/sbin/nginx
sysyemctl start nginx
注:要关闭防火墙
ln -s /usr/local/nginx/sbin/nginx nginx
软链接的方式简化命令行
systemctl stop firewalld 关闭防火墙
setenforce 0 selinux开启宽松模式
端口显示
第四步:查看端口信息&测试
netstat -lnutp | grep 80
端口显示
-a 显示所有端口,包括正在监听的
-t 显示TCP协议的连接情况
-u 显示UDP协议的连接情况
-l 以数字形式显示
-p 显示指定的协议信息
-n 显示所有已建立的有效连接
测试:在浏览器输入 http://服务器的IP地址