Linux(常用操作+服务器部署项目运行环境的过程记录)

Linux(常用操作+实例springboot项目(包含数据库)打包上传,配置到腾讯云轻量级服务器,中间一些错误也记录了解决方法和自己的理解)

Linux中一切皆文件【文件: 读写执行(查看、创建、删除、移动、复制、编辑),权限(用户、用户组)。系统: (磁盘、进程管理)】
用户、组权限的修改、查看、管理

useradd -m 用户名 创建一个用户,-m自动创建这个用户的主目录
userdel -r 用户名 删除此用户,-r自动删除此用户的目录页
usermod 修改内容 用户名,修改一个用户内容
su 用户名,切换操作的用户

chgrp [-R(递归更改该目录下所有)] 属组名 文件名>chown [-R] 属主名[: 属组名] 文件名
chmod 更改文件的9个属性(读r写w执行x,可简化成4+2+1为7)(owner/group/others)

root权限下,可以冻结别的账户,比如
passwd -l 用户名 锁定此用户
passwd -d 用户名 让他没密码,也登不上去了

文件查看、编辑之类的操作:

查看文件内容:
cat 文件名 正常显示文件内容
tac 文件名 倒着显示
nl 文件名 显示有行号
more 文件名 一页一页的展示内容,空格键翻页
less 文件名 可以翻页,n向下查,N向上查
head -n 文件名 看前面几行
tail -n 文件名 看后面几行

网络:

网络配置目录:cd /etc/sysconfig/network-scripts
ifconfig查看网络

文件相关:

rm -rf 文件名 删除一个文件
rm -rf / 删库跑路
vim 文件名
点击i,开始编辑模式
点击esc,退出 编辑模式 进去 阅读模式
一、
点击:, 开始底行输入模式
1、输入(wq)回车,保存并退出文件
2、输入大写(ZZ)回车,不做修改保存,直接退出
3、输入(w 文件名) 回车,另存为 文件名
4、输入set nu 回车,显示行号
5、输入set nonu 回车,取消行号
二、
点击/,输入一个单词,检索查找这个单词的位置(从光标往下开始)
点击?,输入一个单词,检索查找这个单词的位置(从光标往上寻找)

进程相关:

1、管道符号 | ,比如A | B,可以将A的结果传给B
2、grep,过滤,查找文件中符合条件的字符串
比如 ps -aux查看所有进程
ps -aux | grep mysql 查看mysql所有进程
3、ps, 查看当前系统中正在执行的进程的信息
ps -a 展示所有,all的意思
ps -u 以用户的信息展示进程
ps -x 展示后台运行进程的参数
ps -aux 联合上面3个
ps -aux | grep 条件,查找过滤出来的进程信息

pstree -pu,查看进程树(包含了父子进程结构)
kill -9 进程的id,强制杀死进程

打包上传项目,上线部署(包含防火墙):

安装jdk(可运行jar包,如果打包成war包得放在tomcat中运行【还得Linux安装tomcat】、数据库

把写好的springboot项目,用maven打包成jar,直接丢到linux自己的用户目录下,

开启项目需要的端口号,关闭防火墙对这个端口的阻塞
systemctl status firewall查看防火墙服务状态
firewall-cmd --list-all,查看全部信息
firewall-cmd --list-port,只查看当前防火墙对哪些端口开放
service firewall start,开启防火墙服务
systemctl restart firewalld.service重启防火墙
service firewall restart,重启防火墙服务
service firewall stop,关闭防火墙服务
开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent,开启80端口(端口号/通讯协议)
开启之后记得重启防火墙服务

细节1–安装MySQL:

官网下载MySQL8-linux版本:https://dev.mysql.com/downloads/mysql/
腾讯云轻量级Linux服务器(白嫖),镜像选择CentOS 7.6:https://cloud.tencent.com/act/free
连接服务器的工具,使用Finalshell:http://www.hostbuf.com/

注意Finalshell有一个坑:就是将Windows下下载好的压缩的安装包,拖到下方Linux文件夹中上传,即便是没有上传完成,文件夹里也会出现这个压缩包(残缺的),然后离谱的是你也可以对之进行tar -xvf 文件名解压,但是解压后会在最后两行提示你Error(不要忽视,不然有可能误以为finalshell上传巨快,直接旧解压了,也不管报错了)。
正常解压,然后,一般解压到/usr/local下,解压后最好将这个文件夹改成mysql,比较方便,
然后在 usr/local/mysql 下,创建一个data文件夹,用来存放binlog之类的重要数据文件。
创建用户组、给这两个文件夹创建权限
然后配置etc/profile文件
然后配置etc/my.cnf
然后在mysql/bin目录下运行mysqld文件,进行数据库初始化【这时得到一个初始密码】
然后再修改user数据表,进行密码重置
开启MySQL远程登录的开放用户密码
开启MySQL服务开机自动启动
最后刷新,重启数据库服务。


然后考虑用navicat先连接一下试试,发现报了个2013开头的错误
这是因为DNS协议,网上有很多解决方案,我的方法:
添加规则(规则也就相当于防火墙对哪个端口开放):在这里插入图片描述
注意着两个地址【公 、 内】
在这里插入图片描述
分别对应:服务器------内网-----数据库
在这里插入图片描述
navicat--------公网-------服务器
在这里插入图片描述

细节2–安装JDK:

Oracle官网下载Linux版本的jdk:https://www.oracle.com/downloads/#category-java
在这里插入图片描述
然后解压到/usr/local,把解压后的文件夹重命名为/usr/local/jdk更方便
然后配置/etc/profile 如下:

#java environment
export JAVA_HOME=/usr/local/jdk1.8 #只改这里的你解压的地址,下边不用动
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

然后:java -version,看到Java信息就是配置好JDK了

下面由于配置的轻量级服务器,里面有公网、私网,就得很奇怪(图片中的更改,谁明白原理的,可以评论解释一下)地改一下你写好的springboot项目的配置文件(数据库的连接):
在这里插入图片描述
然后,其他的都不用改了,
直接maven:clear一下,install再package一下,
将左侧target目录下的那个jar文件上传到:你准备好的专门用来放上传的项目文件的目录,我新设置的是在/dev/springboot/下。
然后,cd /dev/springboot,进入上传的这个jar文件所在的文件夹,
然后直接运行它:java -jar 文件名.jar
然后可以通过:服务器外网地址+项目的端口,直接访问到这个项目:
登录界面:
在这里插入图片描述


功能界面:
在这里插入图片描述

将项目使用服务方式启动
可以关闭连接工具后,不影响项目运行:
打包前,pom中要有:(如果不写true那一行,Linux使用服务启动,会报错:不能执行二进制文件)

<build>
   <plugins>
     <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
          <executable>true</executable>
        </configuration>
     </plugin>
   </plugins>
 </build>
sudo ln -s .jar文件完整目录 /etc/init.d/自己取个服务名字
cd /etc/init.d/
chmod 777 服务名字
启动项目:/etc/init.d/服务名字 start 
终止项目:/etc/init.d/服务名字 stop
重启项目:/etc/init.d/服务名字 restart 

未完,待补充…,后续感觉还有可以加的东西了,再更新,博友们评论补充更好,欢迎评论❤❤❤

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值