码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • springboot vue 部署至Rocky(Centos)并自启,本文部署是若依应用


    概述

    1、安装nohup(后台进程运行java)

    2、安装中文字体(防止中文乱码)

    3、安装chrony(保证分布式部署时间的一致性)

    4、安装mysql数据,迁移目录,并授权自启动;

    5、安装redis,并设置自动动;

    6、安装nginx,并设置自启动;

    7、部署jar包,并设置自启动;

    8、补充:数据库等高并发或高io应用,linux应调优系统;

    注:如有磁盘挂在:先挂在磁盘

    其他教程

    1、挂载磁盘

    Rocky(Centos)挂在磁盘_小云小白的博客-CSDN博客6、编辑 /etc/fstab 文件,最后添加单行。7、重启,并查看挂在磁盘是否仍在。发现/dev/vdb未挂载。2、对此系统可用磁盘。4、新建data路径。https://blog.csdn.net/qq_26408545/article/details/132694083?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132694083%22%2C%22source%22%3A%22qq_26408545%22%7D2、安装rocky linux并分区

    vmware安装 Rocky9(自定义分区安装)-CSDN博客文章浏览阅读471次。目前市面上cpu现成:基本是4~32不等;这里配置6个占一半;例如:磁盘总大小360G :1、先添加/boot:2Gib;2、再添加swap(2Gib可以4Gib交换区,超过这个一律一样大,前面没有反斜杠)3、再添加/data挂在盘300Gib;4、在添加系统跟路径:/;大小不设置会占用所有剩余空间;然后点击上面的完成按钮;磁盘分区知识:/boot 系统引导区域;swap内存交换区-跟你的内存一样大最好。https://blog.csdn.net/qq_26408545/article/details/133963090

    一:安装nohup(后台启动java)

    运行,可能会遇到是否更新其他依赖,输入y,继续安装

    yum install coreutils

    二:安装中文字体(防止中文乱码)

    参考教程:

    Rocky(Centos)安装中文字体(防止中文乱码)_小云小白的博客-CSDN博客如上图,我们只需要将我们需要的字体拷贝出来并上传至linux服务器即可(例如:宋体和黑体)首先在/usr/share/fonts目录下新建一个目录chinese。可以看到已经成功安装上了中文字体,至此安装过程就全部结束。1)安装ttmkfdir来搜索目录中所有的字体信息。若出现,下面截图,则需要安装字体管理软件。4)最后再次通过看一下字体列表:运行玲玲。然后输入:wq 保存退出。二:安装字体检索程序。https://blog.csdn.net/qq_26408545/article/details/132690641?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132690641%22%2C%22source%22%3A%22qq_26408545%22%7D

    三:安装chrony保证分布式部署时间一致性

    参考教程

    Centos(rocky,red Hat)搭建npt服务,采用阿里ntp时间,保证时间一致性时间_rocky linux9配置阿里云ntp_小云小白的博客-CSDN博客linux分布式环境-搭建npt服务,保证时间一致性时间_rocky linux9配置阿里云ntphttps://blog.csdn.net/qq_26408545/article/details/124336535?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22124336535%22%2C%22source%22%3A%22qq_26408545%22%7D

    四、安装mysql数据,切换路径并运行自启动

    参考教程
    Centos(rocky) yum 安装mysql,切换路径、优化配置并设置开机自启_rocky和red hat_小云小白的博客-CSDN博客1、安装方式介绍mysql安装共3中方式1)yum安装,最简单的方式2)rpm包安装,切记下载相应系统的 稳定版 源码包,相对较简单3)压缩包安装:自由度高,但配置相应复杂,且需要自己注册自启服务注:1,2,3无法在一台机器上共存,1,2可以通过mulit-mysql启动多个服务看,但无法实现:单机上的myql主从只有3方式支持1台安装多个mysql服务,实现mysql主从一、安装步骤1.获取最新的yum rmp包地址下载地址:MySQL :: MySQL Commu_rocky和red hathttps://blog.csdn.net/qq_26408545/article/details/124114793?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22124114793%22%2C%22source%22%3A%22qq_26408545%22%7D

    常用命令:

    1. #将3306转发至33006端口,并开发33306端口,供发布时使用
    2. firewall-cmd --add-forward-port=port=33306:proto=tcp:toport=3306:toaddr= --permanent
    3. firewall-cmd --reload
    4. firewall-cmd --list-all
    5. #发布后移除端口转发策略
    6. sudo firewall-cmd --remove-forward-port=port=33306:proto=tcp:toport=3306 --permanent
    7. firewall-cmd --reload
    8. firewall-cmd --list-all

    五、安装redis并设置开机自启动

    rocky(centos) 安装redis,并设置开机自启动_小云小白的博客-CSDN博客(这里修改了CONF="/usr/local/redis/redis.conf",指定我们的配置文件的位置。5、进入/etc/init.d/,修改一开始复制的启动脚本redis_init_script。在设置之前,做一些自己的修改,以使redis更好的符合我们的生产环境。2、上传下载好的redis压缩包到 /usr/local。拷贝核心配置文件redis.conf到新创建的文件夹中。4、vim redis.conf 修改配置文件如下。1、进入redis目录下的ustils。3、回到redis目录。https://blog.csdn.net/qq_26408545/article/details/132696788?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132696788%22%2C%22source%22%3A%22qq_26408545%22%7D

    六、安装nginx 并设置开机自启动 

    Rocky(centos)安装nginx并设置开机自启_小云小白的博客-CSDN博客执行安装,可能新系统提示没有make命令,输入y 继续安装执行即可;2)将文件上传至 /etc/systemd/system 下。配置并制定安装路径 /usr/local/nginx 下。3)新建nginx运行的用户组和用户:运行下列命令。编译后入下图,可执行命令查看nginx的文件目录。1)新建 nginx.service 文件。1)运行 reboot 命令 重启并连接机器。然后解压命令解压当当前路径。重启后执行查看80端口占用。3)直接浏览器访问测试。切换路径并删除解压包。https://blog.csdn.net/qq_26408545/article/details/133685624

    七、上传jar程序并设置开机自启动

          1) 安装JDK

    Rocky 安装jdk17-CSDN博客文章浏览阅读77次。如果提示安装,则输入N,跳过。编辑:/etc/profile。在最后添加JDK 环境配置。https://blog.csdn.net/qq_26408545/article/details/134219934

          2)新建数据库,并上传备份脚本

          3)上传jar并设置自启动

    Rocky(centos) jar 注册成服务,能开机自启动-CSDN博客SELinux 有三种工作模式,注意:没有特别安全要求,可以使permissive;不同级别配置相同;enforcing:强制模式。任何违反策略的行为都会被禁止,并且产生警告信息。permissive:允许模式。违反策略的行为不会被禁止,只产生警告信息。disabled:关闭 SELinux。https://blog.csdn.net/qq_26408545/article/details/132071480

          4)修改nginx配置并设置自启动 

    可根据教程生成自签名的ssl证书,来配置https,可也不生成,直接用http;

    openssl 生成nginx自签名的证书-CSDN博客文章浏览阅读24次。openssl req命令主要的功能有,生成证书请求文件, 查看验证证书请求文件,还有就是生成自签名证书。主要参数主要命令选项:-new :说明生成证书请求文件-x509 :说明生成自签名证书-key :指定已有的秘钥文件生成秘钥请求,只与生成证书请求选项-new配合。-newkey :-newkey是与-key互斥的,-newkey是指在生成证书请求或者自签名证书的时候自动生成密钥,然后生成的密钥名称由-keyout参数指定。https://blog.csdn.net/qq_26408545/article/details/135966610

    下面是单机的80自定转443端口,并可根据实际情况优化

    1. # Nginx 进程数,一般设置为和 CPU 核数一样,可设置 auto
    2. worker_processes 1;
    3. #error_log logs/error.log; # Nginx 的错误日志存放目录
    4. #error_log logs/error.log notice;
    5. #error_log logs/error.log info;
    6. #pid logs/nginx.pid; # Nginx 服务启动时的 pid 存放位置
    7. events {
    8. # 每个进程允许最大并发数
    9. # 小规模的服务器:512或1024,中等规模的服务器:2048或4096,大规模的服务器:8192或更高
    10. # 考虑到内存占用和CPU的利用率,一般建议不要将worker_connections设置得过高
    11. worker_connections 1024;
    12. }
    13. http {
    14. include mime.types;# 文件扩展名与类型映射表
    15. default_type application/octet-stream;# 默认文件类型
    16. # 设置日志模式
    17. #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    18. # '$status $body_bytes_sent "$http_referer" '
    19. # '"$http_user_agent" "$http_x_forwarded_for"';
    20. #access_log logs/access.log main; # Nginx访问日志存放位置
    21. sendfile on;# 开启高效传输模式
    22. #tcp_nopush on;# 减少网络报文段的数量
    23. keepalive_timeout 65;# 保持连接的时间,也叫超时时间,单位秒
    24. #gzip on;#表示开启压缩功能
    25. # 省去不必要的配置代码
    26. server {
    27. listen 80; # 本服务监听的端口号
    28. server_name localhost; # 主机名称
    29. # 把http的域名请求转成https
    30. rewrite ^(.*)$ https://$host$1 permanent;
    31. location / {
    32. root html;
    33. index index.html index.htm;
    34. }
    35. # 默认配置
    36. error_page 500 502 503 504 /50x.html;
    37. location = /50x.html {
    38. root html;
    39. }
    40. }
    41. # HTTPS server
    42. #
    43. server {
    44. listen 443 ssl;
    45. server_name 192.168.1.2;
    46. keepalive_timeout 70;
    47. ssl_certificate cert/mycert.pem;
    48. ssl_certificate_key cert/privatekey.pem;
    49. ssl_session_cache shared:SSL:10m;
    50. ssl_session_timeout 10m;
    51. ssl_ciphers HIGH:!aNULL:!MD5;
    52. ssl_prefer_server_ciphers on;
    53. client_max_body_size 600m;#上传文件大小限制
    54. client_body_buffer_size 128k;
    55. proxy_connect_timeout 600;
    56. proxy_read_timeout 600;
    57. proxy_send_timeout 600;
    58. proxy_buffer_size 64k;
    59. proxy_buffers 4 32k;
    60. proxy_busy_buffers_size 64k;
    61. proxy_temp_file_write_size 64k;
    62. location / {
    63. # root 规定了通过监听的端口号访问的文件目录
    64. root D:\\comSoft\\nginx\\html\\hy-mes-ui;
    65. # index 规定了该目录下指定哪个文件
    66. index index.html index.htm;
    67. # 配置资源重新跳转,防止刷新后页面丢失
    68. try_files $uri $uri/ /index.html;
    69. }
    70. # 配置后端接口的跨域代理
    71. # 对于路径为 "prod-api 的接口,帮助他跳转到指定的地址
    72. location /prod-api/ {
    73. proxy_set_header X-Real-IP $remote_addr;
    74. proxy_set_header REMOTE-HOST $remote_addr;
    75. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    76. # 本机上运行的后端接口
    77. proxy_pass http://localhost:8080/;
    78. }
    79. location /status{
    80. stub_status on;
    81. }
    82. }
    83. }

    八、补充:数据库等高并发或高io应用,linux应调优系统

    默认的最大打开文件数是1024.不满足生产环境的要求。按照如下配置:

    1)修改 systemctl管理的 servie 资源限制
    编辑/etc/systemd/system.conf

    1. # 全局的打开文件数
    2. DefaultLimitNOFILE=2097152
    3. # 全局打开进程数
    4. DefaultLimitNPROC=65535


    2)调整系统内核参数

    编辑文件/etc/sysctl.conf 

    1. # 全局:端口最大的监听队列的长度,可为:32768
    2. net.core.somaxconn=32768
    3. # 内存分配模式:1为不限制
    4. vm.overcommit_memory = 1
    5. # 单进程打开文件句柄数
    6. fs.nr_open = 2097152
    7. # 系统打开文件句柄数
    8. fs.file-max = 2097152
    9. # 大i/o独立部署中间件选配,例如:redis、队列、数据库等;
    10. # 请求连接保存在队列中的最大数目
    11. net.ipv4.tcp_max_syn_backlog=16384
    12. # 网络接口接收数据包比内核处理速率快时,允许送到队列的数据包的最大数目。
    13. net.core.netdev_max_backlog=16384
    14. # 每个tcp连接占用内存,共三个值:最小字节数 默认值 最大字节数
    15. net.ipv4.tcp_mem = 786432 2097152 3145728
    16. # 每个tcp连接的读缓冲(接收缓冲),缓存从对端接收的数据,后续会被应用程序读取
    17. net.ipv4.tcp_rmem = 2048 32768 4194304
    18. # 每个tcp连接的写缓冲(发送缓冲),缓存应用程序的数据,有序列号被应答确认的数据会从发送缓冲区删除掉
    19. net.ipv4.tcp_wmem = 2048 8192 2097152

    添加完成后,刷新内核参数,立即生效:执行命令

    /sbin/sysctl -p

    3)调整用户组的资源限制

    修改limits.conf。需重启生效,vi /etc/security/limits.conf

    1. # 用户会话的 打开文件句柄数
    2. * soft nofile 1048576
    3. * hard nofile 1048576
    4. # 用户会话的 打开进程数限制
    5. * soft nproc 65535
    6. * hard nproc 65535
    7. # * 代表所有用户
    8. # nofile 在测试最大连接数时,可以设置,例如:2097152 = 2048 * 1024。
    9. # 在实际环境中,因为还要处理数据业务逻辑,太大的值其实没有必要,例如:1048576 = 1024 * 1024

    4)查看是否生效

    1. #用户级别的系统配置
    2. ulimit -a
    3. #open file文件限制数
    4. ulimit -n
    5. #进程限制数
    6. ulimit -u

     注:window也有优化系统分页大小和文件句柄数,这里不做介绍了 

    相应优化参考

    自研MQTT单机百万TCP连接(服务端+客户端)调优_mqtt 百万并发-CSDN博客文章浏览阅读1k次。netty_mqtt 百万并发https://blog.csdn.net/callouszd/article/details/128965377

  • 相关阅读:
    用 ChatGPT 做一个 Chrome 扩展 | 京东云技术团队
    【FLASH存储器系列十】Nand Flash芯片使用指导之一
    剪切的东西不见了怎么找回来?
    leetcode做题笔记173. 二叉搜索树迭代器
    【7月12日活动预告】现代数据栈峰会
    Ubuntu22.04 编译 AOSP
    雷电模拟器dnconsole命令汇总
    TP4586双路独立控制的 TWS 充电仓解决方案
    开源软件的国际化和本地化
    C++11范围for
  • 原文地址:https://blog.csdn.net/qq_26408545/article/details/132690191
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号