linux搭建webapp实战

news2024/11/15 14:09:50

首先介绍下linux,linux因其开源,定制化高,安全等原因,成为了目前web应用部署首选的操作系统,linux操作系统有很多版本,常见的有centos,debian,RHLE,redhat,乌班图等等。今天我选了红帽RHEL8作为操作系统来部署一个webapp环境。

     我的电脑是windows系统,我选择虚拟机来安装linux系统,这样不会引起双系统的冲突,对于学习来说,在适合不过了。首先第一步,在windows系统上安装VMware WorkStation虚拟机(简称VM虚拟机),这里介绍下VMware WorkStation虚拟机,他是一款桌面级的虚拟软件,运行在windows系统上,在这上边可以随意安装其他操作系统,比如linux,ios等等,并且VMware WorkStation虚拟机对电脑的硬件要求也不高,普通的电脑就可以胜任,所以建议大家用VMware WorkStation虚拟机来联系linux相关的实战。安装好vm虚拟机后,双击打开是这样一个界面。

装好vm虚拟机之后,我们需要再下载对应的linux操作系统,这里我选择红帽操作系统REHL8,下载好镜像之后,点击vm虚拟机中的新建新的虚拟机,然后一直默认选择即可,最后安装程序光盘影响文件选择我们上边下载好的REHL8操作系统镜像,操作系统选择linux,系统配置根据当前windows的配置,随意设置即可,这里我选择处理器数量1,内核数量1,内存分配2048MB,网络模式推荐选择使用仅主机模式网络,这样linux的网络就和你自己的windows网络就通了,i/o控制器类型选择推荐模式LSI LOGIC,磁盘类型选择SATA,磁盘设置如下:选择创建新的虚拟磁盘,指定磁盘容量为20G,磁盘名称我填:RHEL8,位置自己指定,这样在自己windows磁盘下,就会生成一个20G左右大小的linux虚拟机文件,后边的的设置全部默认即可,设置完成之后,会是这样一个界面。

然后点击开启此虚拟机,就会自动安装linux系统了,里边的选项全部选择默认选项,安装完成之后重启,就能正常进入红帽操作系统了,如下图所示:

装好红帽操作系统之后,我们进入系统,这里我们会用到安装,卸载,升级软件等操作,常用的命令如下:安装软件:rpm -ivh filename.rpm

升级软件:rpm -Uvh filename.rpm;卸载软件:rpm -e filename.rpm;查询软件描述信息:rpm -qpi filename.rpm;查询文件属于哪个RPM:rpm -qf filename。可能还会用到yum相关的命令。常见的yum命令如下:列出所有仓库:yum repolist all;列出仓库中所有软件包:yum list all;安装软件包:yum install 软件包名称;升级软件包:yum update 软件包名称;移除软件包:yum remove 软件包名称。

     Linux系统准备就绪之后,我们下一步安装Nginx。这里先简单介绍下nginx,nginx是一个部署动态网站的服务程序,nginx占用资源少,轻量高效,支持热部署等等,目前在web服务器方面市场占有率很高,是动态部署网络的首选。使用tar zxvf nginx-1.35.0.tar.gz命令解压nginx安装包,cd nginx-1.35.0进入安装目录,使用如下命令编译nginx:./configure --prefix=/usr/local/nginx --with-http_ssl_module;make; make install期间如果没有明显报错,说明我们安装nginx成功了;安装好nginx之后,进入配置目录,配置我们webapp的相关信息。vim /usr/local/nginx/conf/nginx.conf 配置文件内容如下:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

 64         #

 65         location ~ \.php$ {

 66             root           html;

 67             fastcgi_pass   127.0.0.1:9000;

 68             fastcgi_index  index.php;

 69             fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;

 70             include        fastcgi_params;

 71         }

配置之后为了方便后续我们快捷使用nginx命令,这里我们添加环境变量:/usr/local/nginx/sbin路径加入到PATH变量中。让Bash解释器在后续执行命令时自动搜索到它。然后在source命令后加载配置文件,让参数立即生效。下次就只需要输入nginx命令即可启动网站服务了。

     下一步我们安装数据库,这里我选择免费的mysql数据库,同样的,我们先解压mysql安装包:tar xvf mysql-8.2.0.tar.xz,进入解压目录cd mysql-8.2.0/bin 执行mysql初始化服务:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data;然后设置原始账号和密码:mysql -u root -p;安装成功之后,使用use mysql; show tables等命令查看mysql功能是否正常,如下图所示:

     最后配置我们webapp服务,我的webapp是php写的,所以这里部署php服务,操作步骤类似上边的。解压:tar xvf php-7.3.5.tar.gz

编译:make;make install;编辑php.ini : vim /usr/local/php/lib/php.ini

最后启动php服务:/etc/init.d/php-fpm start。

     至此wepapp依赖的底层服务全部搭建结束,后边就是安装自己的App了,这里就不介绍了,搭建后台服务中间遇上了很多细节问题,比如nginx启动失败,mysql编译报错的问题,上网搜索发现了《Linux就该这么学》有详细的搭建过程,里边有一个章节专门介绍了使用LNMP架构部署动态网络环境,非常适合新手练习,如果我早发现,按部就班就不会出现那些稀奇古怪的错误了,能够解约很多时间,大家有需要可以去看看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/171683.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】gcc/g++编译器、make/Makefile自动化构建工具

作者:小卢 专栏:《Linux》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》 目录 1.gcc/c的概念: 2.程序编译过程详解: 2.1程序编译过程: 2.…

微电网(风、光、储能、需求响应)【Simulink 仿真实现】

目录 1 展现 2 典型几个介绍 2.1 采用PR的三相逆变器电压控制 2.2 太阳能直流微电网系统 2.3 主电网故障时的交流微电网性能 2.4 混合光伏、双馈发电和电池能源的微电网集成 3 写在后面 4 完整资源 1 展现 随便打开一个,就以第一个(采用PID的三…

【GD32F427开发板试用】macOS/Linux系统开发环境搭建(开发、编译、烧录、调试)

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:HonestQiao 我日常的工作环境使用的是macOS系统或者Linux系统,万不得已才使用Windows。 GD32官方提供了Keil MDK-ARM和IAR两款工具…

如何使用Dx命令将jar打包成Dex,需要使用D8命令

使用dx打包的完整命令,将D:\ssh1.0.jar打包成MyClass.dex,MyClass.dex将会输出在当前CMD命令窗口的目录下。dx --dex --no-strict --min-sdk-version26 --outputMyClass.dex D:\ssh1.0.jar运行结果:不要使用dx命令,打出来的dex可以…

NestJS 项目实战 技术选型 (文末附视频)

前言 通过上一章的学习,我们了解了网关系统,并且针对要做的功能做了项目架构设计与需求拆解。 那在一个项目正式开发之前,我们还需要做一个技术调研,从开发框架、使用的工具、数据库等等进行一系列的预研,避免在业务…

嘿~ 基于分布式架构的技术交流社区(WhiteHoleV0.7)即将竣工!

文章目录前言项目介绍WhiteHole期望立项作者功能/模块简介用户模块问答模块社区模块博文模块Next前言 拖更,拖延了这么久,耗时超过3个月的项目,WhiteHoleV0.7 版本即将迎来最后的收尾工作。当然考虑到服务成本,和开发进度&#x…

【以太网硬件十九】SGMII到底能不能直接出光模块?

SGMII接口到底能不能直接出光模块?先说结论:我认为可以,但是有限制,此时的光口只支持强制模式,不支持自协商。如果对端是1000base-X接口,对端也需要把自协商关闭才能与SGMII直出的光口建立连接。为什么SGMI…

你是真的“C”——C语言详解求素数n种境界~

详解C语言函数模块知识(下篇)😎前言🙌必备小知识~😘C语言详解《试除法》求解素数🙌试除法第一层境界~ 😊试除法境界2~😊试除法境界3~😊试除法境界4~😊C语言详解《筛选法》…

为何限制英伟达出售GPU芯片?中国的AI技术领先,让美国怕了

2022年下半年美国突然要求GPU芯片领军者NVIDIA停止对中国出售高端GPU芯片,此举让人疑惑不解,近期日本媒体《日本经济新闻》与荷兰的一家学术信息巨头的分析给出了答案,中国在AI技术上已领先于美国,而NVIDIA的高端GPU芯片有助于中国…

Web端即时通信技术-WebSocket

最近在做项目的时候,遇到了一个前端页面需要实时刷新的功能,一种方法是我们通过短轮询的方式,但这种方式虽然简单,但是无用的请求过多,占用资源,并且如果是对数据要求高较高的场景,就不适用了。…

汽车ECU软件开发之应用层软件与底层软件

随着汽车产品日渐趋向电子化,人们对各类先进的安全系统、高级驾驶辅助系统的接受程度日益提升。而原本昂贵的盲点检测、自动紧急制动等功能的成本下滑,使其快速获得了市场青睐。富士奇美拉研究所(Fuji Chimera Research Institute&#xff09…

MySQL算术/比较/逻辑/位/运算符与正则全解

文章目录1. 算术运算符加法与减法运算符乘法与除法运算符求模(求余)运算符2. 比较运算符等号运算符安全等于运算符不等于运算符非符号类型的运算符空运算符非空运算符最小值运算符最大值运算符BETWEEN AND运算符IN运算符NOT IN运算符LIKE运算符ESCAPEREG…

〖金融帝国实验室〗(Capitalism Lab)v8.2.00官方重大版本更新(2023.01.17正式发布)

〖金融帝国实验室〗(CapLab)v8.2.00正式发布! ————————————— ※v8.2.00更新内容摘要: 1.新增生活服务业:快餐店、比萨店、蛋糕店和咖啡店。 2.可以通过在农场周围购买土地并耕耘来实现产能扩容。 3.…

九龙证券|重磅会议召开,工信部强调推进民爆行业高质量发展

工信部强调推动民爆职业高质量开展,民爆概念股午后拉升。 工业和信息化部举行 民爆职业安全出产视频会议 据工信部网站,1月17日,工业和信息化部举行民爆职业安全出产视频会议。 工业和信息化部副部长徐晓兰表明,部党组对安全出…

【Linux操作系统】环境变量和命令行参数

文章目录一.环境变量1.什么是环境变量?2.windows下配置PATH环境变量的原理3.一览常见的环境变量4.指令方式如何查看环境变量5.PATH-存放系统默认搜索路径的环境变量6.两种方法使运行我们写的可执行程序不带路径二.环境变量和本地变量三.和环境变量相关的命令1.echo:…

元组的操作

1 元组的定义: 元组就是用一对小括号括起来的多个元素的有序集合,个元素之间用逗号隔开。 2 元组的创建: 2.1 使用()创建元组对象。例:lt(12,34,"one") 2.2 使用内置方法tuple创建元组对象。…

mysql 为什么说加上了索引,查询速度就快了呢?(文末附视频)

一天,老板跟我们提出说网站访问的速度太慢,要求我们尽快优化一下。我赶快去查询了一下,发现有几条 SQL 查询的时间异常,我相信这个时候很多小伙伴的大脑里浮现出来的第一个解决办法就是:加索引。 那么到底什么是索引呢…

字符加密-C语言实现

任务描述 请编写程序将一串5个字符组成的英文字符串译成密码,规则为:例如,将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母A后面第4个字母是“E”,用“E”…

虚拟电厂负荷控制系统三维可视化监控 | 数字孪生

随着国家“双碳”及“构建以新能源为主体的新型电力系统”等目标的提出,清洁化、数字化越来越成为电力系统面临的迫切需求,负控系统的发展对电力营销现代化建设具有重要的意义。负控管理系统是一个着眼于全面加强电力信息管理的,集负荷控制、…

FMC子卡设计方案原理图:FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡

FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡一、产品概述 ADRV9002 是一款高性能、高线性度、高动态范围收发器,旨在针对性能与功耗系统进行优化。该设备是可配置的,非常适合要求苛刻、低功耗、便携式和电池供电的设备。ADRV9002 的工作频率为 …