[关闭]
@liruiyi962464 2025-05-27T09:45:54.000000Z 字数 12321 阅读 188

Linux服务器部署(视频项目启动指令)Admin@8888或者Admin@888 adminis

Linux服务器部署


先切换用户

  1. su
  2. Admin@8888
  3. Admin@888
  4. ss -tuln
  5. lsof -i:9060
  6. kill -9
  7. netstat -tpln
  8. netstat -tulnp | grep 8090
  9. netstat -tulnp | grep 8091
  10. echo $PATH

授权命令

  1. chmod -R 777 文件名
  2. chmod +x ./config

python

  1. cd /data/py/shuohuang
  2. nohup python3 api.py > /data/py/logs/sp.log 2>&1 &

启动服务

  1. systemctl start nginx/可以是别的
  2. stop 停止
  3. status 状态
  4. enable 开机自启
  5. start 启动
  6. restart 重启

自启服务3个

自启文件位置

  1. cd /etc/systemd/system/

java-applications.service java服务自启172.0.0.10(视频)

  1. [Unit]
  2. Description=Java Applications Service
  3. After=network.target redis.service mysqld.service
  4. [Service]
  5. User=adminis
  6. Environment="JAVA_HOME=/usr/local/java/jdk1.8.0_241"
  7. Environment="PATH=/usr/local/java/jdk1.8.0_241/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/node/node-v14.17.2-linux-x64/bin/"
  8. Environment="CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
  9. Type=simple
  10. RemainAfterExit=yes
  11. TimeoutSec=300
  12. # 更改为支持自动重启的设置
  13. Restart=on-failure
  14. RestartSec=5s
  15. # 使用单个 ExecStart 指令来执行所有必要的操作
  16. ExecStart=/bin/sh -c ' \
  17. echo "Switching to /data/sp/daima"; \
  18. cd /data/sp/daima; \
  19. echo "Starting Java application in SP daima..."; \
  20. nohup java -jar jeecg-boot-module-system-3.0.jar > /dev/null 2>&1 & \
  21. '
  22. [Install]
  23. WantedBy=multi-user.target

java-applications.service java服务自启172.0.0.11(LTE)

  1. [Unit]
  2. Description=Java Applications Service
  3. After=network.target redis.service mysqld.service
  4. [Service]
  5. User=root
  6. Environment="JAVA_HOME=/usr/local/java/jdk1.8.0_411"
  7. Environment="PATH=/data/7z/bin:/usr/local/java/jdk1.8.0_411/bin:/usr/local/node/node-v14.21.1-linux-x64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/usr/local/node/node-v14.21.3-linux-x64/bin"
  8. Environment="CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
  9. Type=simple
  10. RemainAfterExit=yes
  11. TimeoutSec=300
  12. # 更改为支持自动重启的设置
  13. Restart=on-failure
  14. RestartSec=5s
  15. # 使用单个 ExecStart 指令来执行所有必要的操作
  16. ExecStart=/bin/sh -c ' \
  17. echo "Switching to /data/lte/daima"; \
  18. cd /data/lte/daima; \
  19. echo "Starting Java application in LTE daima..."; \
  20. nohup java -jar jeecg-boot-module-system-3.0.jar > /dev/null 2>&1 & \
  21. '
  22. [Install]
  23. WantedBy=multi-user.target

http-server.service 地图插件自启 172.0.0.10(视频)

  1. [Unit]
  2. Description=HTTP Server Service
  3. After=network.target
  4. [Service]
  5. User=adminis
  6. WorkingDirectory=/data/chinaMap/mapabc/roadmap
  7. ExecStart=/usr/local/node/node-v14.17.2-linux-x64/bin/http-server .
  8. Restart=on-failure
  9. RestartSec=5s
  10. Environment="NODE_ENV=production"
  11. [Install]
  12. WantedBy=multi-user.target

http-server.service 地图插件自启 172.0.0.11(LTE)

  1. [Unit]
  2. Description=HTTP Server Service
  3. After=network.target
  4. [Service]
  5. User=root
  6. WorkingDirectory=/data/chinaMap/mapabc/roadmap
  7. ExecStart=/usr/local/node/node-v14.21.3-linux-x64/bin/http-server .
  8. Restart=on-failure
  9. RestartSec=5s
  10. Environment="NODE_ENV=production"
  11. [Install]
  12. WantedBy=multi-user.target

webrtc-streamer.service 视频插件自启

  1. [Unit]
  2. Description=WebRTC Streamer Service
  3. After=network.target docker.service
  4. [Service]
  5. User=adminis
  6. Type=simple
  7. Restart=on-failure
  8. RestartSec=5s
  9. # 使用单个 ExecStart 指令来执行所有必
  10. ExecStart=/bin/sh -c ' \
  11. /usr/bin/docker stop webrtc-streamer || true; \
  12. docker ps -a | grep webrtc-streamer && docker rm webrtc-streamer || true; \
  13. if ! systemctl is-active docker; then sudo systemctl start docker; fi; \
  14. docker run -d --network=host --name webrtc-streamer --memory 512m --memory-swap 512m mpromonet/webrtc-streamer \
  15. '
  16. [Install]
  17. WantedBy=multi-user.target
  1. [Unit]
  2. Description=WebRTC Streamer Service
  3. After=network.target docker.service
  4. [Service]
  5. User=adminis
  6. Type=simple
  7. Restart=on-failure
  8. RestartSec=5s
  9. # 使用单个 ExecStart 指令来执行所有必
  10. ExecStart=/bin/sh -c ' \
  11. /usr/bin/docker stop webrtc-streamer || true; \
  12. docker ps -a | grep webrtc-streamer && docker rm webrtc-streamer || true; \
  13. if ! systemctl is-active docker; then sudo systemctl start docker; fi; \
  14. docker run -d --network=host --name webrtc-streamer --memory 4G --memory-swap 8G mpromonet/webrtc-streamer \
  15. [Install]
  16. WantedBy=multi-user.target

指令

  1. // 重新加载 systemd 配置
  2. sudo systemctl daemon-reload
  3. // 启用并启动服务
  4. sudo systemctl enable http-server.service
  5. sudo systemctl enable webrtc-streamer.service
  6. sudo systemctl enable java-applications.service
  7. sudo systemctl start http-server.service
  8. sudo systemctl start webrtc-streamer.service
  9. sudo systemctl start java-applications.service
  10. // 检查服务状态
  11. sudo systemctl status http-server.service
  12. sudo systemctl status webrtc-streamer.service
  13. sudo systemctl status java-applications.service
  14. // 检查服务状态
  15. journalctl -u http-server.service
  16. journalctl -u webrtc-streamer.service
  17. journalctl -u java-applications.service

jdk可能存在问题

  1. java -version
  2. cd /usr/local/java/jdk1.8.0_241/bin
  3. vi /etc/profile
  4. source /etc/profile
  5. // 不确定是否有用
  6. 在命令框输入vim ~/.bashrc,在打开文件中加入
  7. source /etc/profile

地图插件

  1. // 切记 如果发生关闭远程访问 地图无法访问 再次打开 启动地图后 使用指令 exit 退出远程
  2. cd /data/chinaMap/mapabc/roadmap
  3. nohup http-server > /data/chinaMapLogs/map.log 2>&1 &

webrtc-streamer

  1. docker run -d --network=host --name webrtc-streamer --memory 4G --memory-swap 8G mpromonet/webrtc-streamer --idle-timeout 60
  2. docker run -it --network=host --name webrtc-streamer --memory 4G --memory-swap 8G
  3. mpromonet/webrtc-streamer --idle-timeout 60
  4. # 实时查看容器内存/CPU
  5. docker stats webrtc-streamer
  6. # 查看RTSP流连接数
  7. docker logs webrtc-streamer | grep "New peer connection"
  8. sudo docker rm webrtc-streamer
  9. sudo systemctl restart docker
  10. // 有问题 sudo docker run -d -p 8000:8000 --name webrtc-streamer mpromonet/webrtc-streamer
  11. sudo docker run -d --network=host --name webrtc-streamer mpromonet/webrtc-streamer
  12. // 查询日志
  13. sudo docker logs webrtc-streamer
  14. // 手动关闭
  15. sudo docker stop webrtc-streamer
  16. sudo docker rm webrtc-streamer
  17. // 测试代码
  18. docker run -it -p 13100:8000 --name webrtc-streamer mpromonet/webrtc-streamer
  19. sudo docker run -d --network=host --name webrtc-streamer --memory 512m --memory-swap 512m mpromonet/webrtc-streamer
  20. sudo docker stop webrtc-streamer
  21. sudo docker rm webrtc-streamer
  22. docker run -d --network=host --name webrtc-streamer --memory 4G --memory-swap 8G mpromonet/webrtc-streamer

视频上车+lte

  1. 配置文件 vi /etc/rc.local
  2. // 授权执行
  3. chmod +x /etc/rc.local
  4. lsof -i:9060
  5. kill -9
  6. cd /data/sp/daima
  7. nohup java -jar jeecg-boot-module-system-3.0.jar>/data/sp/logs/spring.log 2>&1 &
  8. nohup java -jar jeecg-boot-module-system-3.0.jar > /dev/null 2>&1 &
  9. // 查看是否启动
  10. cat /data/sp/logs/spring.log | tail -n 50
  11. cd /data/lte/daima
  12. nohup java -jar jeecg-boot-module-system-3.0.jar>/data/lte/logs/spring.log 2>&1 &
  13. nohup java -jar jeecg-boot-module-system-3.0.jar > /dev/null 2>&1 &
  14. // 查看是否启动
  15. cat /data/lte/logs/spring.log | tail -n 50

nodejs + http-server安装

  1. // 官网下载node
  2. https://nodejs.org/en/download/
  3. // 下载好以后传入服务器
  4. // 创建文件夹
  5. mkdir /usr/local/node
  6. // 进入
  7. cd /usr/local/node
  8. // 解压1
  9. tar -zxvf node-v14.17.0-linux-x64.tar.gz
  10. // 解压2(因为可能存在下载的安装包为.xz结尾)
  11. tar -Jxvf node-v14.21.3-linux-x64.tar.xz
  12. // 使用ln -s创建软连接
  13. ln -s /usr/local/node/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/npm
  14. ln -s /usr/local/node/node-v14.17.0-linux-x64/bin/node /usr/local/bin/node
  15. // 配置环境变量
  16. vim /etc/profile
  17. // 最下边加入环境变量
  18. NODE_HOME=/usr/local/node/node-v14.17.0-linux-x64
  19. PATH=$NODE_HOME/bin:$PATH
  20. export NODE_HOME PATH
  21. // 让刚才的配置生效
  22. source /etc/profile
  23. // 测试
  24. node -v npm -v
  25. // 确定node安装好后执行命令
  26. // 安装
  27. npm install -g http-server
  28. // 卸载
  29. npm uninstall -g http-server

nginx 安装

一、下载源码包

在nginx官网下载源码包。https://nginx.org/download/

二、安装依赖库

安装依赖库(如已经安装请忽略),执行以下命令

  1. yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

如果不确定是否安装依赖,执行以下命令查看是否安装,执行后有输出结果代表已经安装过了。 命令中双引号" "内的内容可自行替换。

  1. yum list installed | grep "pcre-devel"

三、解压安装

  1. tar -zxvf nginx-1.20.1.tar.gz

参数说明
-x:解压
-z:用 gzip 压缩的文件操作
-v:显示所有过程
-f:使用文件名,注意,这个参数是最后一个参数,后面只能接文件名,不能再加参数。
这里只介绍当前命令用到的选项,其它可自行百度学习。

  1. cd nginx-1.20.1

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。
(1)先执行配置命令

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

(2)执行编译命令

  1. make

(3)执行安装命令

  1. make install

这时候,/usr/local下就已经生成了nginx目录。
(4)查看nginx版本信息:

  1. #进入可执行目录sbin
  2. cd /usr/local/nginx/sbin/
  3. #查看nginx版本信息
  4. ./nginx -v
  5. #查看nginx版本信息、编译版本、配置参数 大写字母V
  6. ./nginx -V

四、启动nginx

1.检查配置文件中语法是否正确

  1. /usr/local/nginx/sbin/nginx -t

2.启动
进入可执行目录sbin

  1. cd /usr/local/nginx/sbin/

启动nginx

  1. #等同于/usr/local/nginx/sbin/nginx,也可使用这个命令/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  2. ./nginx
  3. # 停止命令, 配合./nginx命令也可实现重启
  4. ./nginx -s stop
  5. # 也是停止命令,快速关闭 配合./nginx命令也可实现重启
  6. ./nginx -s quit
  7. # 重启命令,重新加载配置文件
  8. ./nginx -s reload

3.访问nginx页面
http://IP地址:端口号 ngixn默认端口号是80,可在配置文件中(在安装目录/config/nginx.conf)查看修改。
如下图,就是成功的页面(这个页面的文件在/usr/local/nginx/html/index.html)。
(1)如果访问不到,请检查nginx端口是否存在,没用任何输出说明不存在。

  1. netstat -nltp | grep 80

(2)防火墙需要关闭,如果不想关闭请直接看第(3)步。

  1. #查看防火墙状态
  2. systemctl status firewalld
  3. #关闭防火墙
  4. systemctl stop firewalld
  5. #开启防火墙
  6. systemctl start firewalld

(3)如果不想关闭防火墙,则需要添加防火墙对外开放的nginx端口 。

  1. # 添加防火墙对外开放的nginx 80端口
  2. firewall-cmd --permanent --zone=public --add-port=80/tcp
  3. # 重新加载防火墙配置
  4. firewall-cmd --reload
  5. # 查看防火墙开放的所有端口,看看是否有80端口
  6. firewall-cmd --zone=public --list-ports

五、nginx其他配置

1.nginx设置开机自启,要操作的文件是/etc/rc.d/rc.local

  1. #给予执行权限
  2. chmod +x /etc/rc.d/rc.local
  3. #打开文件/etc/rc.local超链接指向了/etc/rc.d/rc.local
  4. vi /etc/rc.d/rc.local
  5. #输入i,光标移动到最后一行上,添加下面的命令(nginx启动命令)
  6. /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

2.nginx配置文件

  1. #user nobody;
  2. worker_processes 1;
  3. #error_log logs/error.log;
  4. #error_log logs/error.log notice;
  5. #error_log logs/error.log info;
  6. #pid logs/nginx.pid;
  7. events {
  8. worker_connections 1024;
  9. }
  10. http {
  11. # ...
  12. # 设置连接超时时间为30秒
  13. fastcgi_connect_timeout 600s;
  14. # 设置请求超时时间为60秒
  15. fastcgi_send_timeout 600s;
  16. fastcgi_read_timeout 600s;
  17. proxy_send_timeout 600s;
  18. proxy_read_timeout 600s;
  19. client_body_timeout 600s;
  20. client_header_timeout 600s;
  21. include mime.types;
  22. default_type application/octet-stream;
  23. #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  24. # '$status $body_bytes_sent "$http_referer" '
  25. # '"$http_user_agent" "$http_x_forwarded_for"';
  26. #access_log logs/access.log main;
  27. sendfile on;
  28. #tcp_nopush on;
  29. #keepalive_timeout 0;
  30. keepalive_timeout 65;
  31. #定义变量,兼容HTTP和websocket两种请求协议
  32. map $http_upgrade $connection_upgrade {
  33. default keep-alive; #默认 keep-alive,表示HTTP协议。
  34. 'websocket' upgrade;#若是 websocket 请求,则升级协议 upgrade
  35. }
  36. #gzip on;
  37. server{
  38. listen 3031;
  39. server_name localhost;
  40. #添加头部信息
  41. proxy_set_header Cookie $http_cookie;
  42. proxy_set_header X-Forwarded-Host $host;
  43. proxy_set_header X-Forwarded-Server $host;
  44. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  45. proxy_set_header X-real-ip $remote_addr;
  46. #charset koi8-r;
  47. #access_log logs/host.access.log main;
  48. client_max_body_size 500m;
  49. #添加拦截路径和代理地址
  50. location /api/ {
  51. proxy_pass http://localhost:8091/; #注意:使用代理地址时末尾记得加上斜杠"/"。
  52. }
  53. location /jeecg-boot-file {
  54. #proxy_set_header Host $Host;
  55. #proxy_set_header X-Forward-For $remote_addr;
  56. proxy_pass http://localhost:8091;
  57. }
  58. location /jeecg-boot {
  59. proxy_set_header Host $Host;
  60. proxy_set_header X-Forward-For $remote_addr;
  61. proxy_pass http://localhost:8091;
  62. }
  63. location / {
  64. root ./html/dist_lte;
  65. index index.html index.htm;
  66. try_files $uri $uri/ /index.html =404;
  67. }
  68. #websocket的代理规则
  69. location /jeecg-boot/websocket {
  70. proxy_pass http://localhost:8091; #转发到后端接口
  71. proxy_read_timeout 60s; #设置超时时间,默认是60
  72. proxy_http_version 1.1;
  73. proxy_set_header Host $host;#这个配置不要漏了,必须要
  74. proxy_set_header Upgrade $http_upgrade;
  75. proxy_set_header Connection $connection_upgrade;
  76. }
  77. #error_page 404 /404.html;
  78. # redirect server error pages to the static page /50x.html
  79. #
  80. error_page 500 502 503 504 /50x.html;
  81. location = /50x.html {
  82. root html;
  83. }
  84. }
  85. # another virtual host using mix of IP-, name-, and port-based configuration
  86. #
  87. #server {
  88. # listen 8000;
  89. # listen somename:8080;
  90. # server_name somename alias another.alias;
  91. # location / {
  92. # root html;
  93. # index index.html index.htm;
  94. # }
  95. #}
  96. # HTTPS server
  97. #
  98. #server {
  99. # listen 443 ssl;
  100. # server_name localhost;
  101. # ssl_certificate cert.pem;
  102. # ssl_certificate_key cert.key;
  103. # ssl_session_cache shared:SSL:1m;
  104. # ssl_session_timeout 5m;
  105. # ssl_ciphers HIGH:!aNULL:!MD5;
  106. # ssl_prefer_server_ciphers on;
  107. # location / {
  108. # root html;
  109. # index index.html index.htm;
  110. # }
  111. #}
  112. }

防火墙 (172.0.0.1 Admin@123)使用telnet

  1. 指令
  2. // disp current-configuration
  3. nat address-group 0 10.51.100.17 10.51.100.17
  4. nat server 0 protocol tcp global 10.51.100.17 8090 inside 172.0.0.10 8090
  5. nat server 1 protocol tcp global 10.51.100.17 11554 inside 172.0.0.20 rtsp
  6. nat server 2 protocol tcp global 10.51.100.17 11443 inside 172.0.0.20 443
  7. nat server 3 protocol tcp global 10.51.100.17 12554 inside 172.0.0.21 rtsp
  8. nat server 4 protocol tcp global 10.51.100.17 12443 inside 172.0.0.21 443
  9. nat server 5 protocol tcp global 10.51.100.17 13554 inside 172.0.0.22 rtsp
  10. nat server 6 protocol tcp global 10.51.100.17 13443 inside 172.0.0.22 443
  11. nat server 7 protocol tcp global 10.51.100.17 14554 inside 172.0.0.23 rtsp
  12. nat server 8 protocol tcp global 10.51.100.17 14443 inside 172.0.0.23 443
  13. nat server 9 protocol tcp global 10.51.100.17 15554 inside 172.0.0.24 rtsp
  14. nat server 10 protocol tcp global 10.51.100.17 15443 inside 172.0.0.24 443
  15. nat server 11 protocol tcp global 10.51.100.17 16554 inside 172.0.0.25 rtsp
  16. nat server 12 protocol tcp global 10.51.100.17 16443 inside 172.0.0.25 443
  17. nat server 13 protocol tcp global 10.51.100.17 17554 inside 172.0.0.26 rtsp
  18. nat server 14 protocol tcp global 10.51.100.17 17443 inside 172.0.0.26 443
  19. nat server 15 protocol tcp global 10.51.100.17 18554 inside 172.0.0.27 rtsp
  20. nat server 16 protocol tcp global 10.51.100.17 18443 inside 172.0.0.27 443
  21. nat server 17 protocol tcp global 10.51.100.17 19554 inside 172.0.0.28 rtsp
  22. nat server 18 protocol tcp global 10.51.100.17 19443 inside 172.0.0.28 443
  23. nat server 19 protocol tcp global 10.51.100.17 10554 inside 172.0.0.29 rtsp
  24. nat server 20 protocol tcp global 10.51.100.17 10443 inside 172.0.0.29 443
  25. nat server 21 protocol tcp global 10.51.100.17 3030 inside 172.0.0.10 3030
  26. nat server 22 protocol tcp global 10.51.100.17 3031 inside 172.0.0.11 3031
  27. // 按照顺序增加 增加完成后 指令save
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注