Linux 系统安装
声明
部署本地win10的VMos虚拟机的CentOS7 服务器
后续安装都是在VMos虚拟机的CentOS7 服务器里进行的安装!!!
VMOS部署CentOS部分,网络资源较多,可参考网络
在 局域网络访问CentOS主机的网络配置,可参考网络,注意(大多网络配置都是将虚拟机到部署到NET上,实际部署到物理地址会更方面局域网的其他主机的访问。)
ssh链接常用命令:
Linux 常用命令
将一个文件夹下的所有内容复制到另一个文件夹下
1
2
3 cp -r /home/packageA/* /home/cp/packageB/`
或
`cp -r /home/packageA/. /home/cp/packageB/
vim 多删除
1 | 全选(高亮显示):按esc后,然后ggvG或者ggVG |
创建文件夹子
1 | mkdir -p forward #可创建孩子目录 |
删除一个文件夹及其下面的所有文件
1 rm -rf /home/packageA
-r
表示向下递归,不管有多少级目录,一并删除-f
表示直接强行删除,不作任何提示的意思
rm[选项] 文件或目录
选项:
-f:强制删除(force),和-i选项相反,使用-f,系统将不再询问,而是直接删除目标文件或目录。
-i:和-f正好相反,在删除文件或目录之前,系统会给出提示信息,使用-i可以有效防止不小心删除有用的文件或目录。
-r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。
安装CentOs7 虚拟机
VMware配置CentOS操作系统
1.VMware创建虚拟机
2.虚拟机安装CentOS系统
3.常见问题(含7和8常见问题)
4.VMware安装+Linux镜像下载+Linux系统安装全教程
1.VMware创建虚拟机
安装前说明:
对于之前下载好ios文件,尽量应该为他们放在一个专门的文件夹(例如:Linux-os),方便以后操作。
注意需要的软件安装源地址
1 | http://mirrors.aliyun.com/centos/7/os/x86_64 |
双系统安装教程
Windows+Ubuntu20.04
少一点包容
由于需要在Linux下写代码,之前虚拟机安装过centos,但运行速度不理想,使用颇为受限,故安装双系统,这篇教程没有繁琐赘述,重要之处以及我所遇到的一些BUG都会详细说明。
- 为什么选择Ubuntu20.04
之前使用centos,但是centos8.x已经不再维护,综合其他一些原因选择Ubuntu,而且这个发行版本会维护5年(具体到哪一年忘记了),很多需要用到的软件也会一直支持。
- 我的电脑配置
- 惠普战99 工作站
- Windows10 家庭版 64
- 16GRAM
- 固态硬盘256,2T机械
- 安装方式
上面说到了,我的固态硬盘其实所剩无几,于是选择安装在机械硬盘(需要几百兆SSD容量),我压缩了500G的机械硬盘空间来给·Ubuntu,有条件的全部在分在固态硬盘就行。
另外重要两点
- Ubuntu的/SWAP(虚拟内存)分区最好在固态硬盘这样读写速度会快一点(建议),具体大小根据RAM决定,后面会说明。
- Ubuntu的/boot分区要分在Windows系统盘,这样才能Ubuntu启动下读取到Windows,在开机的时候可以选择加载哪个系统。
一、制作启动硬盘
- 下载Ubuntu20.04 ISO
官网入口下载LTS版本,我是直接下载的,搭配迅雷下载器还是很快的几分钟吧,如果速度很慢可以从华为或者清华大学镜像网站下载。
2.下载 UltraISO并制作启动U盘
UltraISO官网入口点免费下载试用,安装好后打开点击免费试用。
准备一个4G以上大小的U盘,制作过程中会格式化U盘,记得备份文件
选择好下载的UbuntuISO文件打开,点击【启动】→【写入硬盘映像】如图:
写入方式选择【USB-HDD+】
点击【写入】会弹出格式化U盘提示点击确定等待写入完成即可。
二、为Ubuntu分配磁盘空间
我们需要在固态硬盘(也就是系统盘)分出300M-500M的空间用于Ubuntu的/boot分区来作为启动引导文件(否则无法启动Ubuntu,具体原因百度),另外如果固态硬盘充足可以预留处/SWAP分区的空间。
swap,电脑内存8G大小就分配内存两倍的空间,8G以上跟内存一样大或者稍大1、2个G,交换空间,虚拟内存,这个建议分固态硬盘的区,不然会影响运行速度,机械硬盘也是可以用的.
右键点击【此电脑】,选择【管理】→【磁盘管理】,选择想压缩的盘右键单击可以看到压缩卷,点进去就能看到可压缩大小,单位是MB,我在机械硬盘分了500G大小,固态硬盘分了20G大小。
这是我压缩好后的样子:
由于电脑存储文件并非连续的,比如前面20G使用了,之间空了10G,后面的又占用了,那么这10G也就无法压缩。所以会出现可压缩空间远远小于剩余空间
解决方法参考:
进行磁盘分区时,“可用压缩空间”远小于真实的空间大小时的设置方法
Windows系统压缩卷时可压缩空间远小于实际剩余空间解决方法
三、安装Ubuntu
- 查看电脑BIOS模式
WIN+R输入msinfo32,回车确认
BIOS模式,传统代表MBR,另外就是UEFI,Ubuntu是UFFI模式
- BiOS安装准备
插入我们制作好的启动硬盘,开机按F10进入BiOS模式(不同的电脑进入方式可能不同,另外建议把英文改为中文,方法自行百度)
不会操作先看说明,我的是按F1,选择【系统设置】→【启动选项】
将【U盘/USB硬盘】更改为首选项,我的电脑是按F5/F6移动,F10保存。
保存退出后,电脑会自动重启进入Ubuntu的安装。
- 开始安装
①. 将语言改为中文或者英文,点击安装Ubuntu
②. 键盘布局选择【Chinese】,后面的连接网络我就跳过了,如果要选择【正常安装】要联网。
③. 由于我准备的硬盘大小充足,所以我选择【正常安装】,也可以选择【最小安装】不影响使用。其他的在图中。
④. 安装类型选择其他选择其他选项。
⑤. 创建分区,这是最重要的一步,我的分区如下:
- 注意:先分逻辑区,再分主分区
- 1./swap交换分区(虚拟内存),逻辑分区,我分了16GB(8G及以下RAM选择两倍大小,以上跟RAM大小一样就行)
- 2./boot分区 ,逻辑分区,默认ext4。 我分了将近300M,放置Ubuntu的启动引导文件,
- 3./ 根分区(root分区),逻辑分区,我选择100G就可以,默认ext4,
- 4./home分区,主分区,默认ext4,我选择400G,用户的所有文件都在这里。
说明:交换分区和/boot分区容量我都是在c盘压缩的,/和/home分区总共500G是在机械硬盘分的,另外根据自己的实际情况合理分配就行了,按照我的比例。
不清楚Linux分区的自行百度或者查看这篇文章:Linux下硬盘分区:根分区(/)交换分区(/swap)和/boot分区
分区按照我上面的说明来就行,我就不一一展示了,位置选择压缩好的空闲分区(或者用分区助手创建的分区,看大小和使用量就知道,创建的分区不是空闲分区,不能点加号,更改为可用就行),点左下角加号创建。
安装启动引导器的设备选择/boot分区那个路径,然后点击【现在安装】
⑥. 开始安装,我只用了20分钟不到就安装好了,没有几个小时,一次成功。
- 更改BIOS启动选项
安装好Ubuntu之后,拔下U盘(不拔等会开机还会进入Ubuntu安装),右上角关机,彻底关机后开机F10进入BIOS,跟之前的步骤一样,选择【系统设置】→【启动选项】,将【操作系统的启动管理员】上移
按ENTER将Ubuntu启动移到第一位,保存退出,开机进入启动界面就可以看到选项了,第一位是Ubuntu,第三个是Windows.
四. 安装完成
至此Ubuntu安装全部完成,接下来就可以愉快的使用Linux了,遇到不会的建议先查看官方文档。如果教程有什么不足之处欢迎指正评论。学无止境,希望这篇文章对你有所帮助!
编辑于 2021-04-11 19:50
直接复制虚拟机出现网络问题
http://phpzyw.com/bc853B2wHB1lWCwQ.html
首先我的虚拟机是复制出来的,选择我已经移到,但是结果会出现了以下情况,导致了我无法ping 通,先看下提示:
使用:ipconfig –all 命令查寻,果然再现有打开的虚拟机中,存在两个mac地址相同的虚拟机,所以就有思路了,修改mac地址。
尝试1:直接利用虚拟机自带的修改mac地址
选择对应的虚拟机,直接在虚拟机设置中进行修改,修改步骤如下
不知道是不是虚拟机没关闭的原因导致的修改无效,所以我采用了第二种方法,简单粗暴点。
尝试2:修改网卡的mac地址
选中网卡后右击,在右击菜单中点击属性,在本地连接属性对话框中,点击“配置”按钮
在打开的网卡属性对话框中,点击高级选项卡;找到本地管理的地址;默认选择不存在,需要设定实际值,点击上一个圆圈选项后,输入一个12位的16进制数(我这里是已经修改过的,所以填了数字)
然后再看,网络就好了
当然还有第三种方法,修改注册表,不过我觉得注册表修改有点麻烦,需要先找到对应的网卡,步骤如下:
1、在Cortana搜索栏输入regedit,按回车键进入注册表编辑器
2、定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002bE10318}
3、每个00XX的代号都代表一个网卡(要想分辨出你想要的网卡型号,得在点击编号后,在右侧的DriverDesc值中确定型号,如下图)
4、确定好网卡后,就在这个网卡的项目中新建一个字符串值,命名为NetworkAddress,内容是新的MAC地址,如下图
5、点击“确定”后修改完毕,此时需要重启连接进行验证。可以在相应的“网络连接”中单击右键,选择“禁用”,然后再点击“启用”即可
安装SSH
安装
Step 1: 检查是否已安装OpenSSH
在安装OpenSSH之前,需要检查系统是否已经安装了OpenSSH。可以通过以下命令来检查:
```
rpm -qa | grep openssh
如果输出结果中包含openssh,那么说明已经安装了OpenSSH,否则需要进行安装。
Step 2: 安装OpenSSH
CentOS 7使用yum软件包管理器来进行软件安装。可以通过以下命令来安装OpenSSH:
sudo yum install openssh-server
安装完成后,可以通过以下命令来启动OpenSSH:
sudo systemctl start sshd
Step 3: 配置OpenSSH
默认情况下,OpenSSH配置文件位于/etc/ssh/sshd_config。可以通过编辑该文件来配置OpenSSH。可以通过以下命令来编辑该文件:
sudo vi /etc/ssh/sshd_config
在该文件中,可以配置以下内容:
- 端口号:默认情况下,OpenSSH使用22端口。可以通过修改Port字段来更改端口号。
- 允许的用户:默认情况下,OpenSSH允许所有用户登录。可以通过修改AllowUsers字段来限制允许登录的用户。
- 允许的IP地址:可以通过修改AllowUsers字段来限制允许登录的IP地址。
修改完成后,需要重新启动OpenSSH才能使配置生效:
sudo systemctl restart sshd
Step 4: 连接到远程计算机
安装和配置OpenSSH后,可以使用ssh命令连接到远程计算机。可以使用以下命令连接到IP地址为192.168.1.100的远程计算机:
username是远程计算机上的用户名。如果连接成功,将会提示输入密码。
使用
在CentOS中开启SSH服务需要以下步骤:
1.安装OpenSSH服务
打开终端,输入以下命令安装OpenSSH服务:
sudo yum install openssh-server
2.开启SSH服务
输入以下命令启动SSH服务并设置为开机启动:
sudo systemctl enable sshd
sudo systemctl start sshd
3.设置防火墙规则
输入以下命令来开启SSH端口:
sudo firewall-cmd –permanent –add-service=ssh
sudo firewall-cmd –reload
4.测试SSH服务
在另一台计算机或移动设备上安装SSH客户端,并使用CentOS机器的IP地址或域名进行连接。若连接成功则说明SSH服务已开启成功。
cnetOS7
安装mysql 5 ,参考链接
安装配置_MySQL安装配置(Linux) - 知乎 (zhihu.com)
删除mysql数据 :
1、查看当前mysql安装状况
1 | rpm -qa | grep mysql``# 或``yum list install | grep mysql |
2、查看mysql的服务是否启动
1 | systemctl status mysqld |
2.1、如果启动则关闭mysql服务
1 | systemctl stop mysqld.service # service可加可不加 |
3、 卸载上述命令查询出的已安装程序
1 | yum remove mysql-community-libs-8.0.30-1.el7.x86_64 |
4、删除mysql相关文件
- 查找相关文件
1 | find / -name mysql |
- 删除上述命令查找出来的相关文件
1 | /usr/lib64/mysql |
5、删除my.cnf
1 | rm -rf /etc/my.cnf |
安装mysql 5.7:
使用wget命令下载
用wget
命令下载到指定目录:wget -P [目录] [下载链接]
1 | wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz |
安装
(参考链接 :[Centos系统安装mysql-5.7.22(tar.gz安装包)_centos.tar.gz 下载-CSDN博客](https://blog.csdn.net/dc282614966/article/details/81098074#:~:text=1.将下载好的安装到解压到%2Fusr%2Flocal目录下 tar -zxvf mysql- 5.7.22 -linux-glibc 2.12 -x,-x 86 _ 64 mysql 4.为centos添加mysql用户组和mysql用户 (-s %2Fbin%2Ffalse参数指定mysql用户仅拥有所有权,而没有登录权限)) )与(安装配置_MySQL安装配置(Linux) - 知乎 (zhihu.com))
1. 使用wget命令下载
用wget
命令下载到指定目录:wget -P [目录] [下载链接]
1 | wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz |
2. 压缩包解压
使用tar
命令解压到指定目录:tar -zxvf [压缩包] -C [目录]
1 | tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local |
3. 创建数据库目录
进入MySQL目录,创建数据库目录,注意这是存放数据的目录
1 | cd /usr/local/ |
给数据库目录赋予权限
1 | chmod -R 777 /usr/local/mysql/data |
4. 创建用户、组
1 | groupadd mysql |
5. 修改MySQL配置文件
进入my.cnf配置文件,如果没有这个文件,可以直接创建
1 | vim /etc/my.cnf |
点击i
进入编辑模式,粘贴下面内容
1 | [mysqld] |
6. 初始化MySQL
进入MySQL bin 目录下
1 | cd /usr/local/mysql/bin |
出现如下报错
解决方案
1 |
|
重新初始化 mysql 就可以了
7. 查看MySQL密码
输入命令
1 | cat /usr/local/mysql/data/mysql.err |
这时候在最底部会看到root用户的默认密码,例如下面的ABCD@#$%1234
1 | [Note] A temporarypassword is generated for root@localhost: ABCD@#$%1234 |
8. 添加软连接
备注:正常情况下需要到MySQL的bin目录和support-files目录下执行命令,为了避免麻烦才推荐添加软连接。
1 | ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql |
添加成功后,在任意位置输入启动命令
1 | # 启动: |
9. 登录,修改信息
使用root账号进行登录,密码是步骤7的数据
1 | mysql -uroot -p |
修改密码
1 | set password=password('root@1234'); |
修改访问权限
1 | use mysql; |
关闭防火墙
1:查看防火状态
systemctl status firewalld
(已经被关闭了)
2:暂时关闭防火墙
systemctl stop firewalld
3:重启防火墙
systemctl enable firewalld
然后reboot 重启虚拟机就OK了
安装 redis 数据库
安装
redis 的安装极为简单,使用 CentOS 7 自带的 yum 安装即可
1 | yum install redis |
启动等操作
1 | # 启动 |
查看版本号
1 | redis-server -v |
验证安装
安装 redis
,都会附带安装 redis-cli
,这是 Redis 的客户端工具
我们可以使用它,验证 redis 是否正常运行
1 | # 进入客户端 |
能正常连接,且操作数据,表示安装成功。
开启远程连接
1 | # 进入并编辑redsi.conf文件 |
开放端口
腾讯云和阿里云的服务器,请到控制台 - 服务器 - 安全组 - 开放6379端口,否则远端无法登录。
安装gitlab
参考链接(【精选】centos7安装部署gitlab_centos7 安装gitlab-CSDN博客 ) 与(CentOs7 安装Gitlab_centos7安装gitlab-CSDN博客)
1、安装依赖
1 | yum install curl openssh-server openssh-clients postfix policycoreutils-python |
2、启动ssh
1 | systemctl enable sshd |
3、添加http服务到firewalld,pemmanent表示永久生效,若不加–permanent系统下次启动后就会失效
1 | systemctl start firewalld |
4、启动postfix
1 | systemctl enable postfix |
4.1出现错误
5、下载安装gitlab
1.添加gitlab镜像
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
2.安装gitlab 安装命令:rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
3.修改gitlab配置文件指定服务器ip和自定义端口:
vim /etc/gitlab/gitlab.rb
4.重置并启动GitLab
执行:
1 | gitlab-ctl reconfigure #配置GitLab(配置完自动启动,默认账号root) |
配置成功->
1 | gitlab-ctl restart |
运行成功 ->
6.访问 GitLab页面
如果没有域名,直接输入服务器ip和指定端口进行访问
初始账户: root 密码:5iveL!fe
第一次登录修改密码(后边会讲)
关闭防火墙;登录地址 http:192.168.0.133:9090/users/sign_in
将gitlab的密码改为了 admin_gitlab
端口命令
CentOS 7 开放防火墙端口 命令
最近CentOS7的防火墙和6不一样了, 发现以前CentOS 6 系列中的 iptables 相关命令不能用了,查了下,发现Centos 7使用firewalld代替了原来的iptables。
使用方法如下:
关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
开启端口
firewall-cmd –zone=public –add-port=80/tcp –permanent
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd –reload
常用命令介绍
firewall-cmd –state ##查看防火墙状态,是否是running
firewall-cmd –reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd –get-zones ##列出支持的zone
firewall-cmd –get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd –query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd –add-service=ftp ##临时开放ftp服务
firewall-cmd –add-service=ftp –permanent ##永久开放ftp服务
firewall-cmd –remove-service=ftp –permanent ##永久移除ftp服务
firewall-cmd –add-port=80/tcp –permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助
更多命令,使用 firewall-cmd –help 查看帮助文件
重新开启防火墙:Failed to start firewalld.service: Unit firewalld.service is masked 问题解决:
Failed to start firewalld.service: Unit firewalld.service is masked_七夜月光的博客-CSDN博客
CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下
1、直接关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、设置 iptables service
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口3306
vi /etc/sysconfig/iptables
增加规则
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
保存退出后
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
最后重启系统使设置生效即可。
关闭gitlab
后来查看了官方文档中的说明后, 使用如下命令:
systemctl stop gitlab-runsvdir
然后
ps -ef | grep gitlab
发现跟gitlab相关的进程都关闭了。
内存也释放了。
free -mh
开启gitlab
启动systemctl start gitlab-runsvdir.service
若启动时候没反应,则进行第二步,查看系统服务
systemctl -t target
如果存在inactive dead的服务,则意味着这个服务出错了,进行第三步操作
systemctl list-jobs
列出所有正在运行的任务,如果存在某个任务是running,其他任务waiting, 则是该任务堵塞了其他服务,停止该任务即可
systemctl stop xxx.service
停止阻塞服务
5.再次启动systemctl start gitlab-runsvdir.service,则正常启动
6.gitlab-ctl start 启动gitlab成功
安装jdk
方法一:利用yum源来安装jdk(此方法不需要配置环境变量)
查看yum库中的java安装包 :yum -y list java*
安装需要的jdk版本的所有java程序:yum -y install java-1.8.0-openjdk*
方法二:用rpm安装jdk(可以使用man rpm命令查看rpm的帮助文档)
使用Xftp将下载好的jdk-8u152-linux-x64.rpm上传到CentOs上去
使用rpm命令安装: rpm -ivh jdk-8u152-linux-x64.rpm
(默认安装在/usr/java目录下,不用配置环境变量)
方法三:手动解压JDK的压缩包,然后设置环境变量
1、使用Xftp将下载好的jdk-8u152-linux-x64.tar.gz上传到CentOs上去
2、复制安装包到/usr/java目录中(目录可以自己选):cp jdk-8u152-linux-x64.tar.gz /usr/java
3、切换到/usr/java目录下:cd /usr/java
4、解压缩包:tar -zxvf jdk-8u152-linux-x64.tar.gz
5、配置环境变量
使用vim /etc/profile 编辑profile文件 输入: vim /etc/profile
向文件里面追加以下内容:
#set java environment
JAVA_HOME=/usr/java/jdk1.8.0_152
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
注释:
JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径,此路径下包括lib,bin,jre等文件夹(tomcat,Eclipse的运行都需要依靠此变量)。
CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设:.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib。CLASSPATH变量值中的.表示当前目录
PATH使得系统可以在任何路径下识别java命令,设为:$JAVA_HOME/bin:$JRE_HOME/bin。
特别注意:环境变量值的结尾没有任何符号,不同值之间用:隔开(windows中用;)。
5、使配置文件生效:source /etc/profile
安装nginx
参考(部署前端项目)
https://blog.csdn.net/JYSCDNKB/article/details/129632162
CentOs7安装nginx
卸载nginx
1 先查看是否启动了 nginx 服务
1 | ps -ef|grep nginx |
出现这个则 nginx 没启动服务
出现这个则 nginx 启动了服务
2 如果 nginx 启动了服务,则需要先关闭 nginx 服务 【没启动就略过这一步】
1 | kill 进程id |
3 查看所有与 nginx 有关的文件夹
1 | find / -name nginx |
4 除与 nginx 有关的文件夹
1 | rm -rf file /usr/local/nginx* |
5 卸载Nginx相关的依赖
1 | yum remove nginx |
这样就卸载完成了
安装nginx
查看安装nginx所需要的环境
1 | #查看 C++ 环境是否安装(查看版本号) |
配置 nginx 安装所需的环境
1 | #一次安装4个插件 |
安装 nginx
安装 nginx
1 方法一:在官网直接下载.tar.gz安装包,然后通过远程工具拉取到 linux 里面【在 /usr/local 里面创建个nginx文件夹,拉进来。(也可以拉到其他地方)】
2 方法二:使用wget命令下载,确保系统已经安装了wget,如果没有安装,执行 yum install wget 安装。
这里使用方法二进行安装:
1 进入 usr/local 里面创建 nginx 文件夹,方便后期删除干净
1 | #进入usr下的local目录 |
2 通过 wget 下载 nginx 安装包
1 | wget https://nginx.org/download/nginx-1.21.6.tar.gz |
3 解压 并进入解压后的目录
1 | #解压 |
4 配置(带有https模块)【需要进入解压后的目录】
1 | ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module |
5 编译和安装【需要进入解压后的目录】
1 | #编译 |
6 启动、关闭 nginx 服务
1 | ###启动服务 |
到这里 nginx 就安装完成了
其他命令
1 | ####端口号操作 |
项目启动教程
1 部署 常用命令
通过ssh命令 在项目地址下传输文件的命令
在对应的文件下的地址栏目输入cmd
1 | # 将后端jar包传到服务器输入如下代码 |
2 后端部署
2.1 首先将springBoot的项目进行打包 -> 参考网络教程
2.2 将jar包的License文件进行替换操作
2.3 找到jar包文件夹
1 | # 将打包的 forward-admin.jar 远程传送到linux服务器的”/usr/local/project/forward/server/“ 目录下 |
2.4 在服务器启动jar包
2.4.1 进入到jar包保存的目录
1 | #进入到jar包目录 |
2.4.2 启动java的jar程序
(1)直接启动,控制台退出则关掉应用
java -jar forward-admin.jar
(2)后台启动,控制台退出不会关掉应用
1 | #打包命令 |
(3)后台启动并且输出日志,控制台退出不会关掉应用
nohup java -jar forward-admin.jar >> ./register.log 2>&1 &
(3)后台启动(加内存)并且输出日志,控制台退出不会关掉应用
nohup java -jar -Xms1024m -Xmx2048m forward-admin.jar>> ./register.log 2>&1 &
2.4.3 关闭java程序
(1)查询java应用程序
1 | ps -ef|grep java |
(2)强制杀掉进程
1 | kill -9 xxx |
3 前端部署
3.1 将前端的vue项目进行打包 ->参考网路
打包命令: npm run build:test
3.2 将dist文件上传到服务器
1 | # 将打包的 dist 远程传送到linux服务器的”/usr/local/project/forward/web/“ 目录下 |
3.3 设置nginx的配置 的Server下 插入如下代码
3.3.1 server的配置代码
1 | server { |
将上面的代码保存到 -> nginx下的cnfig下的nginx.conf,保存到server同级下,设置如下图所示,
3.3.2 重启nginx
重启一下nginx -s reload 即可
图片地址问题:
图片问题一般需要再后端的 ( 对图片等数据订单一个配置 )修改后打包。
ssh扩展:
从服务器下载东西到本地windos
1 | scp -r -P 9000 root@192.168.0.119:~/storage/pictures/1.jpg D:/ |
在本地windos上传东西到服务器
1 | scp -r dist root@192.168.0.133:/usr/local/project/forward/web/ |
常见问题
1、前端遇到问题如下:
解决方案:
方法一:指定配置目录
1 | sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf |
方法二:在logs下新建一个nginx.pid文件
1.进入nginx的logs目录查看文件,发现没有nginx.pid文件
2.创建一个nginx.pid文件
3.编辑nginx.pid文件,文件内容为1473,保存退出
4.在sbin目录下启动nginx并测试关闭
成功解决问题
需要打包为test文件, npm run build:test
打包其他的环境,需要改变Server配置。
3.4在地址栏进行地址访问 比如当前项目
后端 192.168.0.133:8081
前端 192.168.0.133:8082
遇到问题 nginx: [alert] kill(17451, 1) failed (3: No such process)
解决方案
进入sbin文件执行命令 ./nginx -c /usr/local/nginx/conf/nginx.conf
然后再次执行命令 ./nginx -s reload
请求不到后台的接口
2、后端遇到:
常见问题:
org.springframework.context.ApplicationContextException: Failed to start bean ‘webServerStartStop’; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server
重启服务器
常用操作:
1、固定 IP地址
访问配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
进行配置
1 | BOOTPROTO="static" |
进行重启服务器
1 | reboot |