Linux软件管理(五)软件安装实战之源码安装Nginx
源码包概述
1、用处:定制1.部分软件,官方只提供源码包,需要自行编译安装 2.运维需要规范时,我们想把所有的软件全都安装到同一个目录下 PS:咱们使用windows时,强迫症,我装的QQ,微信,游戏等...全都要放到D盘的某一个目录下 3.有些软件,官方刚发布,还没来得及制作成RPM包,那么我们可以自行编译安装
2、优缺点优点: 1.有了源码包,那我就可以自行修改代码,提供我们使用,传说中的二次开发 2.定制 3.新版本优先更新源码 4.自动化规范,方便落地 缺点: 1.相对于yum安装,复杂 2.耗时比较长
3、获取:
常见的软件,源码包均可以去官方网站获取源码包。
4、源码安装步骤 安装源码包,必须要经历4个步骤 1.解压 tar 2.生成 ./configure cmake 3.编译 make 4.安装 make install
实战:源码安装nginx[root@localhost ~]# wget https://nginx.org/download/nginx-1.20.2.tar.gz 下载 [root@localhost ~]# ll 下载后看一下 total 2440 … -rw-r--r--. 1 root root 1062124 Nov 16 2021 nginx-1.20.2.tar.gz [root@localhost ~]# tar -xf nginx-1.20.2.tar.gz 解压缩 [root@localhost ~/nginx-1.20.2]# ll 打开 total 792 drwxr-xr-x. 6 1001 dba 4096 Aug 31 11:51 auto -rw-r--r--. 1 1001 dba 312251 Nov 16 2021 CHANGES -rw-r--r--. 1 1001 dba 476577 Nov 16 2021 CHANGES.ru drwxr-xr-x. 2 1001 dba 168 Aug 31 11:51 conf -rwxr-xr-x. 1 1001 dba 2590 Nov 16 2021 configure drwxr-xr-x. 4 1001 dba 72 Aug 31 11:51 contrib drwxr-xr-x. 2 1001 dba 40 Aug 31 11:51 html -rw-r--r--. 1 1001 dba 1397 Nov 16 2021 LICENSE drwxr-xr-x. 2 1001 dba 21 Aug 31 11:51 man -rw-r--r--. 1 1001 dba 49 Nov 16 2021 README drwxr-xr-x. 9 1001 dba 91 Aug 31 11:51 src # 直接这条生成命令会报错 ./configure --prefix=/opt/nginx-1.20.2 --with-http_ssl_module --with-http_stub_status_module 选安装路径 到/opt下 相当于windows安软件下面要勾选的项目 # 需安装三个依赖 yum install -y gcc gcc-c++ glibc 第一个报错 缺少C yum install -y pcre-devel 第二个报错 依赖PCRE yum install -y openssl-devel 第三个报错 # 依赖安装完之后再装就OK了: [root@localhost ~/nginx-1.20.2]# ./configure --prefix=/opt/nginx-1.20.2 --with-http_ssl_module --with-http_stub_statu ......(省略输出) Configuration summary + using system PCRE library + using system OpenSSL library + using system zlib library nginx path prefix: "/opt/nginx-1.20.2" nginx binary file: "/opt/nginx-1.20.2/sbin/nginx" nginx modules path: "/opt/nginx-1.20.2/modules" nginx configuration prefix: "/opt/nginx-1.20.2/conf" nginx configuration file: "/opt/nginx-1.20.2/conf/nginx.conf" nginx pid file: "/opt/nginx-1.20.2/logs/nginx.pid" nginx error log file: "/opt/nginx-1.20.2/logs/error.log" nginx http access log file: "/opt/nginx-1.20.2/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp" # 编译(让系统识别你的代码 [root@localhost ~/nginx-1.20.2]# make # 安装 [root@localhost ~/nginx-1.20.2]# make install # 看一眼 [root@localhost ~/nginx-1.20.2]# cd /opt 安装完去看一下 [root@localhost /opt]# ll total 4 -rw-r--r--. 1 root root 0 Aug 25 11:11 {1...1000}.txt -rw-r--r--. 1 root root 0 Aug 25 11:24 {1.1000}.txt -rw-r--r--. 1 root root 0 Aug 25 11:16 {1.10}.txt drwxr-xr-x. 6 root root 54 Aug 31 12:14 nginx-1.20.2 # 有了 -rw-r--r--. 1 root root 45 Aug 29 20:38 test_opt.tar.gz -rw-r--r--. 1 root root 0 Aug 29 20:34 yjh.txt # 做个软链接 opt下 [root@localhost /opt]# ln -s /opt/nginx-1.20.2/ /opt/nginx [root@localhost /opt]# ll total 4 -rw-r--r--. 1 root root 0 Aug 25 11:11 {1...1000}.txt -rw-r--r--. 1 root root 0 Aug 25 11:24 {1.1000}.txt -rw-r--r--. 1 root root 0 Aug 25 11:16 {1.10}.txt lrwxrwxrwx. 1 root root 18 Aug 31 12:16 nginx -> /opt/nginx-1.20.2/ drwxr-xr-x. 6 root root 54 Aug 31 12:14 nginx-1.20.2 -rw-r--r--. 1 root root 45 Aug 29 20:38 test_opt.tar.gz -rw-r--r--. 1 root root 0 Aug 29 20:34 yjh.txt [root@localhost /opt]# cd nginx [root@localhost /opt/nginx]# ll total 4 drwxr-xr-x. 2 root root 4096 Aug 31 12:14 conf drwxr-xr-x. 2 root root 40 Aug 31 12:14 html drwxr-xr-x. 2 root root 6 Aug 31 12:14 logs drwxr-xr-x. 2 root root 19 Aug 31 12:14 sbin 看到这四个安装成功。
#加入变量PATH中,使其可以直接执行 [root@localhost ~]# vim /etc/profile.d/nginx.sh 在其中输入 export PATH="$PATH:/opt/nginx/sbin" #看一下 有了 [root@localhost ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/nginx/sbin:/root/bin #source一下 [root@localhost ~]# source /etc/profile (source命令通常用于保留、更改当前shell中的环境变量。简而言之,source一个脚本,将会在当前shell中运行 execute命令 ) [root@localhost ~]# nginx
[root@localhost ~]# netstat -lntup 看一眼 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 12019/nginx: master tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6965/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 7120/master tcp6 0 0 :::22 :::* LISTEN 6965/sshd tcp6 0 0 ::1:25 :::* LISTEN 7120/master [root@localhost ~]# netstat -lntup|grep nginx 看到nginx 80端口 说明没问题 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 12019/nginx: master [root@localhost ~]# systemctl stop firewalld 防火墙停一下 [root@localhost /opt/nginx]# setenforce 0 (setenforce是Linux的selinux防火墙配置命令, 执行setenforce 0 表示临时关闭selinux防火墙。) [root@localhost ~]# systemctl restart firewalld 开防火墙 开了就连不上了
输入服务器IP,访问到Nginx页面说明已成功安装:
出入废则神机化灭,升降息则气立孤危素问阴阳应象大论故清阳为天,浊阴为地。地气上为云,天气下为雨雨出地气,云出天气。故清阳出上窍,浊阴出下窍清阳发腠理,浊阴走五脏清阳实四支,浊阴归六腑。言阳气质地清轻主升,阴气质地厚
长期把红薯当早餐吃的人,后来都怎么样了?也许自己都不相信红薯在我们日常生活中是一种很常见的食物,它可以蒸着吃煮着吃烤着吃,味道十分美味,红薯也非常适合减肥的人群吃。同时,红薯中含有丰富的淀粉膳食纤维糖胡萝卜素维生素等营养物质,能够保持血
怎样睡觉才不算熬夜?现在的年轻人大部分人得了一种晚上舍不得睡觉的病,有一部分人是因为白天都在上班,没有自己的时间,只有晚上的时间才算是真正属于自己的,所有,经常打破睡眠规律,逆天而行,能拖一个小时就坚
9月22日起开放!上海迪士尼将推出阿凡达探索潘多拉主题展上海迪士尼度假区近日宣布,其与詹姆斯卡梅隆和乔恩兰道的美国光影风暴娱乐公司以及迪士尼实体娱乐体验携手,以电影阿凡达为灵感所打造的沉浸式主题展阿凡达探索潘多拉将于9月22日起在上海迪
神舟笔记本凭什么敢卖1万7?战神G12DA9NT体验,船王战舰级配置花1W7买神舟?工作室的小伙伴听了之后先问我,你都花这么多钱了,咋还买神舟啊,纯纯大冤种?另外一个小伙伴说,怎么神舟都卖到这么贵了,一台都当别人两台了,配置不得上天啊。他还真说对了
王毅会见古巴外长罗德里格斯当地时间2022年9月19日,国务委员兼外长王毅在纽约出席联大期间会见古巴外长罗德里格斯。王毅说,中古是彼此信赖命运与共的好朋友好同志好兄弟。两国元首建立良好友谊并保持密切沟通。中
克罗地亚队医莫德里奇将为国家队踢到2024年欧洲杯直播吧9月20日讯据克罗地亚国家队队医ZoranBahtijarevi透露,皇马中场莫德里奇已经决定为克罗地亚国家队效力至2024年欧洲杯,届时他将年满39岁。莫德里奇在2006年
去近郊轻度假湖里摸鱼,田里挖土豆,湖边露营,民宿里安睡这里古香古色的建筑,浓浓的田园风情让人流连忘返。刚刚过去的中秋假期,来自青岛市区的游客马振在朋友圈里写道,他与朋友们在青岛胶州市里岔镇桃李
LPL战队数量再增两支?全新TBD图引争议,真没必要19个队伍前言S12赛季的比赛已经正式开始了,相信绝大多数的玩家都关注了最近一段时间的夏季赛,lpl赛区的对抗接近尾声,现在仅剩下tes战队和jdg战队来争夺最后的冠军。本来大家关注的点都是
9月起,青岛社保缴费有新变化参保单位及灵活就业个人投保的小伙伴们注意啦9月份青岛市启动社保缴费基数上下限调整工作,9月份社保三险缴费将按照新标准缴纳。青报君从青岛市人力资源和社会保障局了解到,青岛市2022年
9月22日斯洛伐克头号射手缺席二号射手遭停赛001欧国联哈萨克斯坦VS白俄罗斯2200哈萨克斯坦伤停名单艾赫梅托夫(后卫17场主力缺席)波卡季洛夫(门将26场主力缺席)肖姆科(后卫46场2球主力缺席)素姆巴耶夫(后卫42场4