当前位置: 首页 > news >正文

linux搭建webapp实战

首先介绍下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架构部署动态网络环境,非常适合新手练习,如果我早发现,按部就班就不会出现那些稀奇古怪的错误了,能够解约很多时间,大家有需要可以去看看。

相关文章:

  • Golang语法快速上手3
  • 【JavaEE初阶】第五节.多线程 ( 基础篇 ) 线程安全问题(上篇)
  • Java技能树-操作符(二)-练习篇
  • 化繁为简、性能提升 -- 在WPF程序中,使用Freetype库心得
  • 用通知-等待机制优化锁等待问题
  • 微电网(风、光、储能、需求响应)【Simulink 仿真实现】
  • Mysql安全之权限用户管理参考手册
  • C语言萌新如何使用printf函数?
  • 【Kotlin】类的继承 ① ( 使用 open 关键字开启类的继承 | 使用 open 关键字开启方法重写 )
  • [网鼎杯 2020 青龙组]AreUSerialz
  • Windows 服务器刷题(带答案)
  • docker入门(二):docker的常用命令
  • colab 如何释放gpu显存?
  • CANoe-仿真总线上的红蓝线、“CANoe DEMO“ license下的软件限制
  • SpringBoot 参数接收只看这一篇文章就够了
  • Vector - VT System - 模拟IO板卡_VT2816
  • 云原生|kubernetes|2022年底cks真题解析(1-10)
  • 7个实用的DTC品牌出海营销策略,打造强大的品牌竞争力
  • 浅谈Android下的注解
  • 【初阶数据结构】——写了将近 5 万字,终于把 二叉树 初阶的内容讲清楚了
  • 弘扬 “上海精神”,上合组织政党论坛聚焦政党责任与使命
  • 央行:25日将开展6000亿元MLF操作,期限为1年期
  • 神二十明日发射,长二F火箭推进剂加注工作已完成
  • 特朗普激发加拿大爱国热情之下:大选提前投票人数创纪录,魁北克分离情绪被冲淡
  • “很多中国企业竞争力独一无二”,这场对接会上他频频为协同供应链点赞
  • 亚振家居半年内第二次筹划变更控制权:控股股东正与收购方商谈交易核心条款