从零到一:手把手教你将项目部署上线-环境准备

部署步骤

  • 引言
  • 1.Java环境配置
  • 2.ngnix安装
  • 好书推荐

引言

将自己的项目从本地开发环境顺利部署上线,是每个开发者必经的里程碑。今天,我们就从零开始,一步一步教你如何将手中的项目部署到线上,让全世界见证你的创造力。
首先,我们得从环境准备这一关键步骤谈起。一切精彩的表演都需要合适的舞台,项目部署亦是如此。市面上不乏优秀的云服务提供商,如阿里云、腾讯云、AWS、Google Cloud等,它们提供了多样化的服务器选项,从经济实惠的虚拟私有服务器(VPS)到强大的云服务器实例,总有一款适合你的需求和预算。注册账号,选择一款符合你项目规模的服务套餐,我们的部署之旅正式启航。
本文使用阿里云服务器

1.Java环境配置

jdk安装可以使用线上和本地安装,为了方便使用线上安装,直接使用命令安装

  • 1.查看可以安装的jdk版本
yum -y list java*

在这里插入图片描述

  • 2.选择自己需要的jdk版本进行安装,比如这里安装1.8,执行以下命令:
yum install -y java-1.8.0-openjdk-devel.x86_64

在这里插入图片描述

  • 3.安装成功,查看版本
java -version

在这里插入图片描述

  • 4.使用在线安装默认会被安装到usr/lib/jvm下
cd /usr/lib/jvm
ls

在这里插入图片描述

2.ngnix安装

  • 1.查看防火墙状态
systemctl status firewalld.service

在这里插入图片描述

  • 2.关闭防火墙
systemctl stop firewalld.service
systemctl status firewalld.service

在这里插入图片描述

如果后续想打开可执行以下命令:

systemctl start firewalld.service

也可以设置禁止防火墙自启

systemctl disable firewalld.service

防火墙开机自启

systemctl enable firewalld.service 
  • 3.安装所需插件

1.gcc 可以编译 C,C++,Ada,Object C和Java等语言(安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境)

yum install gcc-c++

2.pcre pcre-devel pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库

yum install -y pcre pcre-devel

3.zlib zlib-devel zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装

yum install -y zlib zlib-devel

4.openssl openssl-devel OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

yum install -y openssl openssl-devel

5.nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库

  • 4.安装nginx

这里我们再次选择在线安装

1.安装之前先安装wget

 yum install wget 

2.使用wget命令下载

wget https://nginx.org/download/nginx-1.21.6.tar.gz

如果报错:-bash: wgte: command not found 那么将wget卸载重新安装就可

//先卸载
yum remove wget
//再安装yum -y install wget

3.解压

tar xvf nginx-1.21.6.tar.gzcd nginx-1.21.6

4.配置

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

5.编译和安装

makemake install

6.查看安装路径

whereis nginx

7.设置服务自启

编辑服务文件

vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx service
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true[Install]
WantedBy=multi-user.target

Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

8.服务的启动/停止/刷新配置文件/查看状态

#启动nginx服务
systemctl start nginx.service  #停止服务
systemctl stop nginx.service       #重新启动服务
systemctl restart nginx.service      #查看所有已启动的服务
systemctl list-units --type=service    #查看服务当前状态
systemctl status nginx.service         #设置开机自启动
systemctl enable nginx.service     # 停止开机自启动
systemctl disable nginx.service     

nginx.conf https 配置

    server {listen       443 ssl;server_name  localhost;ssl_certificate      cert.pem;#根证书地址(默认把证书放在conf目录)ssl_certificate_key  cert.key;#证书秘钥(默认把证书放在conf目录)ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;location / {root   html;index  index.html index.htm;}}

将 http 重定向 https

server {listen 80;server_name localhost;#将请求转成httpsrewrite ^(.*) https://$server_name$1 permanent;
}

查看nginx 进程命令

ps aux | grep nginx

好书推荐

《Linux运维从入门到精通》从初学者角度出发,通过通俗易懂的语言、清晰明了的操作步骤,详细介绍了Linux系统管理与运维相关的技术。全书分为3篇,共19章,包括运维工作、服务器、Linux系统、Linux文件目录命令、Linux软件安装、Linux文本编辑、用户和用户组、文件管理与进程、Linux文件系统、Linux磁盘管理、Linux网络、防火墙、FTP服务器的搭建与应用、NFS服务器的搭建与应用、搭建Tomcat应用服务器、企业级Nginx应用服务器搭建、搭建基于LAMP架构服务、Linux数据服务、Linux shell脚本等内容。本书所有知识都结合具体应用场景和操作步骤进行介绍,可以使读者轻松领会Linux系统运维的精髓,快速提高运维技能。

在这里插入图片描述
传送门:https://item.jd.com/14199216.html

本书可作为系统运维入门者的自学用书,也可作为高等院校相关专业的教学参考书,还可供开发人员查阅参考。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

必应bing国内广告开户首充和开户费是多少?

微软必应Bing作为国内领先的搜索引擎之一,其广告平台凭借其精准的投放、高效的数据分析和广泛的用户覆盖,已成为众多企业的首选。 根据最新政策,2024年必应Bing国内广告开户预充值金额设定为1万元人民币起。这一调整旨在确保广告主在账户初始…

计算机操作系统总结(1)

1操作系统的概念(定义)功能和目标 (1)什么是操作系统? (2)操作系统的功能和目标—作为系统资源的管理者 (3)操作系统的功能和目标—向上层提供方便易用的服务 (4)操作系…

vue从入门到精通(四):MVVM模型

一,MVVM MVVM(Model–view–viewmodel)是一种软件架构模式。MVVM有助于将图形用户界面的开发与业务逻辑或后端逻辑(数据模型)的开发分离开来。详见MVVM 二,Vue中的MVVM Vue虽然没有完全遵循 MVVM 模型,但是 Vue 的设…

Xcode代码格式化SwiftFormat安装使用,以及不生效问题

官方仓库地址:GitHub - nicklockwood/SwiftFormat: A command-line tool and Xcode Extension for formatting Swift code 安装SwiftFormat 有两种安装方式,两种方式都可以,二选一即可: 第一种使用brew,如果已经使用…

启动docker报错:Failed to listen on Docker Socket for the API.

说明: 1、安装部署docker完成后,启动docker报错:Failed to listen on Docker Socket for the API,如下图所示: 2、将SocketGroupdocker更改成:SocketGrouproot即可 一、解决方法: 1、执行命令…

文件传输服务应用1——java集成smb2/3实现文件共享方案详细教程和windows共享服务使用配置

在实际项目开发过程中,读取网络资源或者局域网内主机的文件是必要的操作和需求。而FTP(文件传输协议)和SMB(服务器消息块)是两种最为常见的文件传输协议。它们各自在文件传输领域拥有独特的优势和特点,但同…

MySQL进阶 日志结尾以及8.0新特性

日志结尾 前面我们聊了mysql的undo日志,redo日志,binlog等等,也从一条update语句来分析了一下日志的执行思路以及版本控制是怎么回事,四大特性是怎么实现的等等 今天我们来说说最后一个错误日志 其实用处不大 因为对我们开发人员来说基本上是没有权限来查看错误日志的 一般…

vlan综合实验

一,实验拓扑: 二,实验需求: 1、pc1和pc3所在接口为access;属于vlan 2;P可以骄问pcepces不的一段;其中pc2可以访问pc4/pc5/pc6; 2、pc1/pc3与pc2/pc4/pc5/pc6不在同一网段; 3、所有pc通过DHCP获取Ip地址,且pc1/pc3可以…

BGP选路规则实验

实验拓扑及要求如下 注意: 在完成要求时,默认区域内IGP搭建完成,IBGP和EBGP的对等体关系建立完成 结果演示如下 IBGP内部搭建:使用OSPF IBGP与EBGP对等体建立 要求一:PreVal策略 PV属性默认值为0,规则是…

Vue学习穿梭框Transfer组件

Vue学习Transfer组件 一、前言1、案例一2、案例二 一、前言 在 Vue 3 中使用 el-transfer 组件可以帮助你实现数据的穿梭功能,让用户可以将数据从一个列表转移到另一个列表。下面是一个简单示例,演示如何在 Vue 3 中使用 el-transfer 组件: …

【加密与解密(第四版)】第二十二章笔记

第二十二章 补丁技术 补丁:文件补丁(修改文件本身的某个数据)和内存补丁(对正在运行的程序的数据进行修改,以达到某种效果) 22.1 文件补丁 文件补丁直接修改可执行文件或某功能模块的二进制代码。 22.2 内…

小而美:两步完成从源码到应用的极简交付

作者:花三(王俊) Serverless 应用引擎 SAE 是阿里云推出的一款零代码改造、极简易用、自适应弹性的容器化应用托管平台,面市以来为几万家企业客户提供服务,运行稳定,广受好评。 SAE 的出现解决了众多企业…

黑马点评1——短信篇(基于session)

🌈hello,你好鸭,我是Ethan,一名不断学习的码农,很高兴你能来阅读。 ✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。 🏃人生之义,在于追求,不在成败,勤通…

成都青年AI人才崭露头角,知了汇智科技助力孵化营大放异彩

5月18日-19日,为期两天的成都国际商贸城青年(大学生)AI应用孵化营活动在热烈的氛围中圆满落幕。本次活动由成都国际商贸城、成都成商数字科技有限公司、成都知了汇智科技有限公司及成都电商职教集团联合举办,旨在为青年&#xff0…

拨云见日,ATFX七场研讨会揭秘投资先机

财经先机,一手掌握。近期,随着国际金价持续走高,避险情绪高涨,由此激发新一轮投资热潮。作为业界领先的金融创新品牌,ATFX深受投资者认可和信赖,为助力广大投资者了解市场运行规律,捕捉财经脉络…

秋招突击——算法——模板题——区间DP——合并石子

文章目录 题目内容思路分析实现代码分析与总结 题目内容 思路分析 基本思路&#xff0c;先是遍历区间长度&#xff0c;然后再是遍历左端点&#xff0c;最后是遍历中间的划分点&#xff0c;将阶乘问题变成n三次方的问题 实现代码 // 组合数问题 #include <iostream> #in…

vue3+vite解决项目打包后本地图片等资源找不到的问题

1.在vite.config.js里面做如下配置 import { defineConfig } from vite import vue from vitejs/plugin-vueexport default defineConfig({base: ./, // 打包的静态资源引用路径plugins: [vue()], // 放插件用的resolve: {alias: {: /src // 配置/提示符}}, })上述配置主要就是…

[JAVASE] 类和对象(五) -- 抽象类和接口

目录 一. 抽象类 1.1 抽象类的定义 1.2 抽象类的实现 1.3 抽象类的作用 1.4 抽象类注意事项 二. 接口 2.1 接口的定义 2.2 接口的实现 2.3 接口的作用 2.4 接口注意事项 三. 总结 一. 抽象类 1.1 抽象类的定义 如果一个类中没有包含足够的信息来描绘一个具体的对象, 那么…

HTTP 请求的完整过程

HTTP 请求的完整过程 当用户在浏览器输入网址回车之后&#xff0c;网络协议都做了哪些工作呢? 首先工作的是 浏览器应用程序&#xff0c;他要解析出 URL中的域名 根据域名获取对应的ip地址&#xff0c;首先从浏览器缓存中査看&#xff0c;如下可以査看浏览器中域名对应ip的解…

拆分盘投资深度解析:投资逻辑、风险探讨与投资建议

随着互联网技术的飞速发展&#xff0c;金融领域也迎来了诸多创新。其中&#xff0c;拆分盘作为一种新型投资模式&#xff0c;以其独特的“只涨不跌”机制&#xff0c;吸引了众多投资者的目光。本文将深入探讨拆分盘的投资逻辑&#xff0c;并通过一个实际案例进行解析&#xff0…