linux部署前端静态页面(实战)

Linux基本命令(学习笔记)零基础入门linux系统运维_linux find exec rm_Z_Xshan的博客-CSDN博客

如果linux不熟可以看我之前写的入门教程 感谢支持!!

一、服务器

这里去购买云服务器,如果是练习可以用虚拟机,这里不过多描述

二、下载nginx

nginx: download   nginx官网下载地址

wget http://nginx.org/download/nginx-1.24.0.tar.gz

下载完成之后我们可以看到是个压缩文件,我们通过ls进行查看

 

对此进行解压 

tar -zxvf nginx-1.24.0.tar.gz

 配置nginx 

cd 你解压完的目录  我这里的是nginx-1.24 你们根据你们下载的文件命进入即可

cd nginx-1.24

我们可以看到configure文件

 执行下面命令

./configure

配置完成!

 

编译安装 

 这个命令会安装到默认路径usr/local/nginx,可以通过查看nginx安装路径下面有说

make&make install

 但是我没有权限只能安装到自己的指定路径(T*T)

//创建目标文件夹
mkdir -p /usr/mydir/nginx
cd /tmp/nginx-1.13.7
//关键所在:因为默认会安装在/usr/local/nginx,所以此处需要指明目的文件夹
./configure --prefix=/usr/mydir/nginx   //(这个文件名字自己命名)
make && make install

显示directory就是安装成功了!! 

 

此时在/usr/mydir/nginx下将会生成conf、sbin等文件夹 

三、启动nginx

查看nginx安装路径

whereis nginx

启动服务命令

/usr/mydir/nginx/sbin/nginx  -s reload

 启动有可能会报 > nginx: [error] open() /usr/mydir/nginx/logs/nginx.pid" failed (2: No such file or directory)

解决办法

使用nginx -c的参数指定nginx.conf文件的位置

/usr/mydir/nginx/sbin/nginx -c /usr/mydir/nginx/conf/nginx.conf

 我这里报错

[emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)

意思是没有端口低于1024没有权限 

1、进入nginx.conf文件

2、修改listen后的默认端口号改为想改的端口号(如下图)把90改成1024以上就好了

访问ip成功启动! 

 

重启服务命令

 systemctl restart nginx.service

如果权限不够加上sodu (你要有root的账号密码)

sudo systemctl restart nginx.service

查看nginx是否启动

ps -ef | grep nginx

 四、打包前端并上传linux

打包

前端打包不多说了,看你们自己项目的打包命令就可以,一般都是

npm run build

工具 

 使用工具上传文件,工具有很多这里我用到的是WinSCP

 打包好的文件一定要放在nginx/html里面!!!!

解压zip文件  

要将Linux中的zip文件解压到当前目录

unzip dist.zip

修改文件权限 

修改文件的权限避免出现不能访问的情况

chmod [权限模式] [文件或目录]

我们修改为最高权限

chmod 777 [文件或目录]

文件夹里所有的文件也要修改

cd [文件或目录]
chmod 777 *

 五、修改nginx配置 经行nigx转发

找到\conf\nginx.config文件用vim打开文件

 server {
        listen       8080;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;

		 location / {
            root html/文件夹(打包好在nginx/html里的文件);     //你文件的路径
            index index.html index.htm;
            try_files $uri $uri/ @router;
        }

}

 重启nginx

如果你有高权限执行下面命令

sudo service nginx restart

没有就杀死进程 ,重新启动

killall nginx  //杀死进程

启动

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

06、pytest将多个测试放在一个类中

官方用例 # content of test_class.py # 实例1 class TestClass:def test_one(self):x "this"assert "h" in xdef test_two(self):x "hello"assert hasattr(x,"check")# content of test_class_demo.py # 每个测试都有唯一的类实例…

《形式语言与自动机理论(第4版)》笔记(二)

文章目录 [toc]前导《形式语言与自动机理论(第4版)》笔记(一) 第三章:有穷状态自动机3.1|语言的识别3.2|有穷状态自动机即时描述 s e t ( ) set() set()例题问题 1 1 1解答问题 2 2 2解答 3.3|不确定的有穷状态自动机构…

机器学习——logistic回归

在之前实验接触到的机器学习算法都是的目的都是对数据集进行分类,即预测得到的结果是数据样本所属的类别,预测输出结果是离散的集合,比如{‘是’,‘不是’}。这次实验学习的是回归模型,与分类模型不同的是,…

邻接矩阵深度优先遍历

深度优先遍历(Depth-First Search,DFS)是一种用于遍历或搜索树或图的算法。这个算法会尽可能深地搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。 在用邻接矩阵表示的图中进行深度优先遍历…

第N个泰波那锲数

1.题目解析 动态规划算法原理 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 为了填写当前状态的时候,所需要的状态已经计算过了!!! 5.返回值 题目要求 状态表示 ------------------------------------------------------…

单机游戏推荐:巨击大乱斗 GIGABASH 中文安装版

在泰坦之中称霸天下吧!《GigaBash 巨击大乱斗》是一款多人战斗擂台游戏,有着受特摄片启发的巨型怪兽,具有传奇色彩的英雄,震天动地的特别攻击,以及可以完全摧毁的擂台场景。 ​游戏特点 怪物大解放 多达10个独特的角…

U2 文法和语言

文章目录 一、预备知识1、字母表和符号串2、符号串形式定义3、符号串相等4、延申 二、文法1、 一些概念2、文法的定义3、推导的形式定义4、规范推导5、语言的形式定义6、递归文法7、BNF范式总结 三、短语、简单短语和句柄四、语法树(推导树)1、概念2、语法树推导--句型的推导3、…

AI Agent 结构与分类

一、什么是AI agent 在人工智能中,智能代理AI Agent是以智能方式行事的代理;它感知环境,自主采取行动以实现目标,并可以通过学习或获取知识来提高其性能。人其实就是一种复杂代理。 为了理解智能代理的结构,我们应该熟…

C++面试宝典第2题:逆序输出整数

题目 写一个方法,将一个整数逆序打印输出到控制台。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如:123的逆序输出为321,8600的逆序输出为68,-609的逆序输出为-906。 解析 这道题本身并没有什么…

17、pytest自动使用fixture

官方实例 # content of test_autouse_fixture.py import pytestpytest.fixture def first_entry():return "a"pytest.fixture def order():return []pytest.fixture(autouseTrue) def append_first(order, first_entry):return order.append(first_entry)def test_s…

04数据平台Flume

Flume 功能 Flume主要作用,就是实时读取服务器本地磁盘数据,将数据写入到 HDFS。 Flume是 Cloudera提供的高可用,高可靠性,分布式的海量日志采集、聚合和传输的系统工具。 Flume 架构 Flume组成架构如下图所示: A…

SSM项目实战-前端-在Index.vue中展示第一页数据

1、util/request.js import axios from "axios";let request axios.create({baseURL: "http://localhost:8080",timeout: 50000 });export default request 2、api/schedule.js import request from "../util/request.js";export let getSchedu…

力扣刷题day1(两数相加,回文数,罗马数转整数)

题目1:1.两数之和 思路1和解析: //1.暴力枚举解法(历遍两次数组,时间复杂度O(N^2),空间复杂度O(1) int* twoSum(int* nums, int numsSize, int target, int* returnSize) {for (int i 0; i &…

【恋上数据结构】二叉堆学习笔记

二叉堆 需求分析 Top K 问题 什么是 Top K 问题? 从海量数据中找出前 K 个数据。 比如:从 100 万个整数中找出最大的 100 个整数Top K 问题的解法之一:可以用数据结构 “堆” 来解决。 堆 堆是一种【完全二叉树】,可以分为【…

SpringBoot自定义异常处理机制

说明:在完整的项目结构中,我们通常会创建一套自定义的异常处理机制,在系统可能出现异常的地方手动抛出这些异常,可以快速定位到异常代码片段,提高系统的可维护性。 本文介绍在SpringBoot项目中,搭建一套自…

2023.12.1 --数据仓库之 拉链表

目录 什么是拉链表 为什么要做拉链表? 没使用拉链表: 使用了拉链表: 题中订单拉链表的形成过程 实现语句 什么是拉链表 拉链表是缓慢渐变维的一种解决方案. 拉链表,记录每条信息的生命周期,一旦一条记录的生命周期结束,就重新开始一条新的记录,并把当前日期放入生效开始…

EI论文复现:基于组合双向拍卖的共享储能机制研究程序代码!

本程序参考EI期刊论文《基于组合双向拍卖的共享储能机制研究》,文中的组合双向拍卖交易机制较为新颖,本质上属于博弈范畴,共享储能是目前的研究热点,牵涉到共享储能参与者的投标策略和收益函数,文中所提模型可为电力市…

【兔子王赠书第10期】零基础入门Python,看这篇就够啦!

文章目录 写在前面推荐图书前言为什么要学习编程如何学习编程本书内容获得帮助 推荐理由粉丝福利写在后面 写在前面 粉丝福利第10期来啦,本期博主给大家推荐一本非常适合零基础入门Python的图书:《Python超能学习手册》,祝大家读完本书后都可…

深入微服务架构 | 微服务与k8s架构解读

微服务项目架构解读 ① 什么是微服务? 微服务是指开发一个单个小型的但有业务功能的服务,每个服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上。 微服务也指一种种松耦合的、有一定的有界上下文的面向服务架构。也就是说&…

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之linux存储管理(5)》(21)

《Linux操作系统原理分析之linux存储管理(5)》(21) 6 Linux存储管理6.6 Linux 物理空间管理6.6.1 Linux 物理内存空间6.6.2 物理页面的管理6.6.3 空闲页面管理——buddy 算法 6.7 内存的分配与释放6.7.1 物理内存分配的数据结构 6…