Centos安装部署

Centos安装部署

linux安装JDK
下载地址:https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html
创建文件夹,输入命令:

mkdir /usr/local/jdk

查看JDK信息,输入命令:

java -version

将下载的安装包传到该文件夹

在这里插入图片描述

解压安装包

tar -zxvf jdk-8u231-linux-x64.tar.gz

配置环境变量

vim /etc/profile

添加指定文件最下方
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_231
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

在这里插入图片描述

重新加载配置

source /etc/profile

查看安装情况

java -version

在这里插入图片描述


linux安装Tomcat
下载地址:https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.87/bin/apache-tomcat-8.5.87.tar.gz
将下载的安装包传到该文件夹

在这里插入图片描述

解压安装包

tar -zxvf apache-tomcat-8.5.87.tar.gz

配置环境变量

vim /etc/profile

添加指定文件最下方
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.87

在这里插入图片描述

启动Tomcat

cd /usr/local/tomcat/apache-tomcat-8.5.87/bin

./startup.sh

在这里插入图片描述

Linux启动tomcat后,我们在浏览器中输入:http:\IP地址:8080 如果出现tomcat的主页则代表安装成功

在这里插入图片描述

提示:如果访问tomcat主页失败,有可能是防火墙没有关闭

service iptables stop
chkconfig iptables off# 关闭SELINUX
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

linux安装nginx
安装 GCC
yum install gcc-c++解释:GCC用来对nginx源码进行编译
安装 PCRE pcre-devel
yum install -y pcre pcre-devel解释:Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码。
安装 zlib
yum install -y zlib zlib-devel解释:zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩
安装Open SSL
yum install -y openssl openssl-devel解释:nginx不仅支持 http协议,还支持 https(即在 ssl 协议上传输 http)。如果使用了 https,需要安装 OpenSSL 库
下载地址 https://nginx.org/en/download.html

在这里插入图片描述

将下载的安装包传到该文件夹

在这里插入图片描述

解压安装包

tar -zxvf nginx-1.8.1.tar.gz

进入解压后的文件夹内,执行如下命令:

#执行配置脚本 --prefix是指定安装目录
./configure --prefix=/usr/local/nginx/nginx-1.8.1

编译:

make

安装

make install

或者

#对nginx编译和安装
make & make install

启动Nginx
进入【sbin】文件夹执行

./nginx

#启动脚本是在
# /usr/local/nginx/nginx-1.8.1/sbin/nginx
#启动,
/usr/local/nginx/nginx-1.8.1/sbin/nginx -c /usr/local/nginx/nginx-1.8.1/conf/nginx.conf
#停止
/usr/local/nginx/nginx-1.8.1/sbin/nginx -s stop
#重载
/usr/local/nginx/nginx-1.8.1/sbin/nginx -s reload
#杀掉nginx
/usr/local/nginx/nginx-1.8.1/sbin/nginx -s quit
查询nginx是否启动:

ps -ef | grep nginx

Nginx默认为80端口,启动后可以在浏览器输入自己的ip和端口号进行验证是否启动成功

在这里插入图片描述

如果浏览器访问不通,请检查是否开启防火墙限制,将防火墙关闭或将端口加入到防火墙白名单中,这里nginx的默认端口为80

#查看已放行的端口
firewall-cmd --list-all
#将80端口加入到防火墙放行白名单中,并重载防火墙
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
关闭防火墙
#临时关闭防火墙
systemctl stop firewalld.service
#永久关闭防火墙
systemctl disable firewalld.service
设置nginx 的开机启动
vim /etc/rc.local
文本底部追加
/usr/local/nginx/sbin/nginx
配置环境变量

vi /etc/profile

刷新

source /etc/profile

添加到指定文件下方

PATH=$PATH:/usr/local/nginx/nginx-1.8.1/sbin
export PATH
在这里插入图片描述

查看

nginx -v

修改配置端口和默认访问页面
#找到nginx的配置文件,编辑
vi /usr/local/nginx/nginx-1.8.1/conf/nginx.conf
#user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';#access_log  logs/access.log  main;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {listen       80;server_name  www.***.com;location / {root        /data/static_html/customer-html-manage;index       /html/login/login.html;error_page  404             /html/login/login.html;error_page  500 502 503 504 /html/500.html;}}server {listen       6001;server_name  www.api.*****.com;location /customer-web {proxy_pass  http://127.0.0.1:8080/customer-web;proxy_set_header host  $host;proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;proxy_set_header X-Real-IP $remote_addr;}}
nginx配置文件详细说明:
#user  nobody;#运行nginx的默认账号
#nginx进程数,建议设置为等于CPU总核心数。
worker_processes  1;#事件区块开始
events {#单个进程最大链接数(最大连接数=连接数*进程数)#根据硬件调整,与前面工作进程配合起来用,尽量大,但别把CPU跑到100%就行,每个进程允许的最多连接数,理论上为每台nginx服务器的最大连接数worker_connections  1024;
}#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {#include:导入外部文件mime.types,将所有types提取为文件,然后导入到nginx配置文件中。include       mime.types;#默认文件类型default_type  application/octet-stream;#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设置为on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载,注意:如果图片显示不正常把这个改成off#sendfile指令指定,nginx是否调用sendfile函数(zero copy方式)来输出文件,对于普通应用,必须设为on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptimesendfile        on;#长连接超时事件,单位是秒keepalive_timeout  65;#第一个server区块开始,表示一个独立的虚拟主机站点server {#提供服务的端口,默认80listen       80;#提供服务的域名主机名server_name  localhost;#对 “/” 启动反向代理,第一个location区块开始location / {root   html;    #服务默认启动目录,可以改成指定的目录位置index  index.html index.htm; #默认的首页文件,多个用空格分开}#错误页面路由error_page   500 502 503 504  /50x.html; # 出现对应的http状态码是,使用50x.html回应客户location = /50x.html { # location区块开始,访问50x.htmlroot   html; # 指定对应的站点目录为html}}}
反向代理:

前端的主流解决跨域的方式就是:1、开发生产cors解决;2、开发proxy,生产nginx解决

遇到以/police请求开头的接口,就去访问这个IP地址的后端接口。

在这里插入图片描述

动态资源与静态资源分离

在Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就是指HTML,JavaScript,CSS,img等文件。
一般来说,都需要将动态资源和静态资源分开,将静态资源部署在Nginx上,当一个请求来的时候,如果是静态资源的请求,就直接到nginx配置的静态资源目录下面获取资源,如果是动态资源的请求,nginx利用反向代理的原理,把请求转发给后台应用去处理,从而实现动静分离。
在使用前后端分离之后,可以很大程度的提升静态资源的访问速度,同时在开过程中也可以让前后端开发并行可以有效的提高开发时间,也可以有些的减少联调时间 。

实际上我们在代理前端的html和接口时就已经做到了动静分离。我们打包后的dist包实际上就是纯静态的资源,所以直接访问nginx静态资源服务器,就不需要经过后台的tomcat。访问接口时,就需要nginx先去访问后台服务器,拿到结果再给到浏览器.

在这里插入图片描述

如何配置

假设有比较大的图片等需要放置到服务器上,然后通过nginx来转发。或者是有一个纯前端的开源项目(如pdf.js),也需要放在服务器上。如果放在本地代码包,打包出来体积会很大。

location /image/ {root   /var/filecenter/;
}
location /static/ {root   /var/filecenter/;
}
location /car/ {root   /var/filecenter/;
}
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|js|css)$ {root /Users/dalaoyang/Downloads/static;
}
可以把nginx.conf分为三个部分:全局块、events块、http区域
  • **http区域块:**这块是Nginx服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。这里http块包含:http全局块、server 块

  • server块:这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。每个http块可以包括多个server块,而每个server块就相当于一个虚拟主机。每个server块也分为server全局块以及可以同时包含多个location块。
    全局server块:最常见的配置就是本虚拟机主机的监听配置和本虚拟机的名称或IP配置。

  • location块:一个server块可以配置多个location块。这块的主要作用就是基于nginx服务器接收到的请求字符串(例如:server_name/uri-string),对虚拟主机名称(也可以是IP别名)之外的字符串(例如前面的/uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等共鞥,还有许多第三方模块的配置也可以在这里进行。

未完!!!!!
卸载Nginx
查询nginx服务进程

ps -ef|grep nginx

删除进程

kill -15 进程Id

查找删除ngxin文件

whereis nginx
find / -name nginx
rm -rf /usr/local/nginx

卸载nginx依赖

yum remove nginx


linux安装Redis
下载地址:https://download.redis.io/releases/
将下载的安装包传到该文件夹

在这里插入图片描述

解压安装包

tar -zxvf redis-4.0.5.tar.gz

安装

进入解压后的目录

cd /usr/local/redis/redis-4.0.5

编译

make

执行完make命令后,在redis-4.0.2src目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli

启动服务

方式一 进入 src目录执行redis-server

cd /usr/local/redis/redis-4.0.5/src

./redis-server

在这里插入图片描述

方式二 在第一种的基础上指定配置文件启动

cd /usr/local/redis/redis-4.0.5/src

./redis-server …/redis.conf

redis.conf 配置文件在上一级目录,与src在同级目录下,是redis的配置文件,是否启动成功参考方式一的截图,如果你看过 redis.conf 配置文件就能理解这种启动方式了

方式三 使用 vivim 命令打开 redis.conf 配置文件

回到根目录找到redis.conf配置文件

在这里插入图片描述
使用 vivim 命令打开 redis.conf 配置文件

在这里插入图片描述

默认 protected-mode yes 保护模式时开启的,如果你需要远程连接请将他设置为 protected-mode no

在这里插入图片描述

默认情况下 daemonize no 是不会作为守护进程运行的,如果需要设置为守护进程方式运行(后台运行)则将其改为 daemonize yes

在这里插入图片描述

后台启动redis
创建redis目录
mkdir /usr/local/bin/redis
复制 redis源码解压所在目录找到src下的redis-server
cp /usr/local/redis/redis-4.0.5/src/redis-server /usr/local/bin/redis/redis-master-server复制客户端,为了启动后可以进行验证
cp /usr/local/redis/redis-4.0.5/src/redis-cli /usr/local/bin/redis/redis-master-cli复制配置文件到 /etc/redis 这个目录mkdir /etc/redis
cp /usr/local/redis/redis-4.0.5/redis.conf /etc/redis/redis-master-6379.conf进入 /usr/local/bin/redis 目录下并指定配置文件启动(后台运行方式)
cd /usr/local/bin/redis
./redis-master-server /etc/redis/redis-master-6379.conf
方式四 使用redis启动脚本并设置开机后自启动

找到/usr/local/redis/redis-4.0.5/utils目录

在这里插入图片描述

找到 redis_init_script 脚本

在这里插入图片描述

将启动脚本复制到 /etc/init.d目录下,并将启动脚本重命名为 redisd

cp /usr/local/redis/redis-4.0.5/utils/redis_init_script /etc/init.d/redisd

vim /etc/init.d/redisd

EXEC=/usr/local/bin/redis/redis-master-server
CLIEXEC=/usr/local/bin/redis/redis-master-cli

在这里插入图片描述

ps:自己的redis-server路径 pid与配置文件内一致

在这里插入图片描述

赋予可执行权限

chmod +x /etc/init.d/redisd

添加为启动服务

chkconfig --add redisd

查看启动服务列表

chkconfig --list

命令:

启动redis服务

service redisd start

停止redis服务

service redisd stop

开放端口

firewall-cmd --add-port=6379/tcp --permanent

设置开启自启动

chkconfig redisd on

提示错误 service redis does not support chkconfig

把下面两行注释放在/etc/init.d/redis文件靠前的注释中:

#chkconfig: 2345 90 10
#description: Redis is a persistent key-value database

redisd 脚本中写入注释 # chkconfig: 2345 90 10 来修改运行级别,保存后重试即可

赋予可执行权限

chmod +x /etc/init.d/redisd

添加为启动服务

chkconfig --add redisd

查看启动服务列表

chkconfig --list

命令:

启动redis服务

service redisd start

停止redis服务

service redisd stop

开放端口

firewall-cmd --add-port=6379/tcp --permanent

设置开启自启动

chkconfig redisd on

提示错误 service redis does not support chkconfig

把下面两行注释放在/etc/init.d/redis文件靠前的注释中:

#chkconfig: 2345 90 10
#description: Redis is a persistent key-value database

redisd 脚本中写入注释 # chkconfig: 2345 90 10 来修改运行级别,保存后重试即可

在这里插入图片描述

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

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

相关文章

配置visual studio code 用秘钥远程连接SSH服务器

配置visual studio code 用秘钥远程连接SSH服务器 文章目录 配置visual studio code 用秘钥远程连接SSH服务器简介1. 生成SSH密钥对2. 将公钥添加到Ubuntu服务器3. 将私钥添加到visual studio code的SSH配置文件中 简介 通过SSH密钥认证,用户无需在每次连接时输入密…

C++11 shared_from_this学习

最近学习网络变成发现一些C源码库中封装对象时会公有继承enable_shared_from_this&#xff1b; 用一个案例进行说明&#xff0c;案例代码如下&#xff1a; #include <iostream> #include <memory> #include <stdio.h>using namespace std;class C : public…

谈一谈BEV和Transformer在自动驾驶中的应用

谈一谈BEV和Transformer在自动驾驶中的应用 BEV和Transformer都这么火&#xff0c;这次就聊一聊。 结尾有资料连接 一 BEV有什么用 首先&#xff0c;鸟瞰图并不能带来新的功能&#xff0c;对规控也没有什么额外的好处。 从鸟瞰图这个名词就可以看出来&#xff0c;本来摄像头…

啥是MCU,MCU科普

啥是MCU&#xff0c;MCU科普 附赠自动驾驶学习资料和量产经验&#xff1a;链接 MCU是Microcontroller Unit 的简称&#xff0c;中文叫微控制器&#xff0c;俗称单片机&#xff0c;是把CPU的频率与规格做适当缩减&#xff0c;并将内存、计数器、USB、A/D转换、UART、PLC、DMA等…

剑指Offer题目笔记21(计数排序)

面试题74&#xff1a; 问题&#xff1a; ​ 输入一个区间的集合&#xff0c;将重叠的区间合并。 解决方案&#xff1a; ​ 先将所有区间按照起始位置排序&#xff0c;然后比较相邻两个区间的结束位置就能知道它们是否重叠。如果它们重叠就将它们合并&#xff0c;然后判断合并…

VS Code常用前端开发插件和基础配置

VS Code插件安装 VS Code提供了非常丰富的插件功能&#xff0c;根据你的需要&#xff0c;安装对应的插件可以大大提高开发效率。 完成前端开发&#xff0c;常见插件介绍&#xff1a; 1、Chinese (Simplified) Language Pack 适用于 VS Code 的中文&#xff08;简体&#xff…

再次加深理解Java中的并发编程

目录 一、线程、进程、程序 二、线程状态 三、线程的七大参数 四、lock与synchronized锁机制 一&#xff09;、lock与synchronized锁区别 二&#xff09;、synchronized锁原理 三&#xff09;、Lock锁原理 五、synchronized锁升级原理 一&#xff09;、锁升级基础知识 …

AIGC重塑金融:AI大模型驱动的金融变革与实践

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-tVrfBkGvUD0Qi13F {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

【微服务】配置Nacos管理SpringBoot配置文件(附解压包)

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 一、什么是Nacos Nacos可以帮助我们配置和管理微服务&#xff0c;是阿里的一个开源产品&#xff0c;是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。Nacos可以用来实现配置中心和服务注册中心。 …

我国伺服系统市场规模逐渐扩大 未来有望实现完全国产替代

我国伺服系统市场规模逐渐扩大 未来有望实现完全国产替代 伺服系统又称为随动系统&#xff0c;是用于精确地跟随或复现某个过程的反馈控制系统。伺服系统主要包括驱动器、指令机构和电机等&#xff0c;可根据控制指令&#xff0c;对功率进行放大、变换与调控等处理&#xff0c;…

Jackson 2.x 系列【6】注解大全篇二

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Jackson 版本 2.17.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-jaskson-demo 文章目录 注解大全2.11 JsonValue2.12 JsonKey2.13 JsonAnySetter2.14 JsonAnyGetter2.15 …

QT 最近使用的项目配置文件

目录 1 QT 最近使用的项目配置文件所在路径 2 QtCreator.ini 1 QT 最近使用的项目配置文件所在路径 C:\Users\your username\AppData\Roaming\QtProject QtCreator.ini最好先备份一份 2 QtCreator.ini ProjectExplorer 下面的 RecentProjects\FileNames RecentProjects\…

Vue3:快速上手路由器

本人在B站上关于vue3的尚硅谷的课程&#xff0c;以下是整理一些笔记。 一.路由器和路由的概念 在 Vue 3 中&#xff0c;路由&#xff08;Router&#xff09;和路由器&#xff08;Router&#xff09;是两个相关但不同的概念。 1. 路由&#xff08;Router&#xff09;&#xff…

链表基础题

206. 反转链表 问题描述 给定单链表的头节点 head &#xff0c;请反转链表&#xff0c;并返回反转后的链表的头节点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;…

Cocos Creator 常见问题记录

目录 问题1、精灵图九宫格&#xff0c;角度不拉伸 问题2、BlockInputEvents 防止透屏 问题1、精灵图九宫格&#xff0c;角度不拉伸 点击编辑&#xff0c;拖拽到可变区域 问题2、BlockInputEvents 防止透屏

三菱GX WORKS3连接FX5U系列PLC时,弹出窗口提示:用户认证功能或安全性强化模式未启用

三菱GX WORKS3连接FX5U系列PLC时&#xff0c;弹出窗口提示&#xff1a;用户认证功能或安全性强化模式未启用 如下图所示&#xff0c;使用GX WORKS3编程软件连接FX5U系列PLC&#xff0c; 首先&#xff0c;在连接目标中选择自己当前使用的网卡适配器&#xff0c;并将IP地址设置在…

预训练大模型最佳Llama开源社区中文版Llama2

Llama中文社区率先完成了国内首个真正意义上的中文版Llama2-13B大模型&#xff0c;从模型底层实现了Llama2中文能力的大幅优化和提升。毋庸置疑&#xff0c;中文版Llama2一经发布将开启国内大模型新时代。 作为AI领域最强大的开源大模型&#xff0c;Llama2基于2万亿token数据预…

【pytest】执行环境切换的两种解决方案

一、痛点分析 在实际企业的项目中&#xff0c;自动化测试的代码往往需要在不同的环境中进行切换&#xff0c;比如多套测试环境、预上线环境、UAT环境、线上环境等等&#xff0c;并且在DevOps理念中&#xff0c;往往自动化都会与Jenkins进行CI/CD&#xff0c;不论是定时执行策略…

Leetcode 剑指 Offer II 071.按权重随机选择

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个正整数数组 w &#xff0c;其中 w[i] 代表下标 i 的权重…

《AIGC重塑金融:AI大模型驱动的金融变革与实践》

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-oBSlqt4Vga1he7DL {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…