服务器部署(保姆级教程)
服务器部署(保姆级教程)
如果有帮助到你 可以麻烦您 一键三连(评论、点赞、收藏) 在来一个关注不迷路 哟
小生不才,有啥子 错误 或者 建议 可以私信或者评论区留言,我加以完善和改正 哟
有疑问并且我没来得及回复的可以+我wx:CrazyHao369 备注来意!!!无偿解答
祝大家远离BUG,永无加班!!!以后会经常发布一些干货文章
若有需要资源文档:资源文档
一、准备工作
下载JDK安装包
下载Tomcat安装包
下载MySQL安装包
注意:下载选择Red Hat Enterprise Linux /Oracle Linux
依次下载:(什么版本你自己决定 建议最低5.7)
mysql-community-server-5.7.27-1.el7.x86_64.rpm
mysql-community-client-5.7.27-1.el7.x86_64.rpm
mysql-community-common-5.7.27-1.el7.x86_64.rpm
mysql-community-libs-5.7.27-1.el7.x86_64.rpm
下载Redis安装包
下载Nginx安装包
下载Node安装包(.xz结尾的包)
下载Maven安装包
下载Git安装包
Git
9、准备服务器文件传输工具(自己准备,我是用的FileZilla)
Oracle账号:oracle-02@qq.com 1211WaN!
二、本地虚拟机网络设置(云服务器跳过)
查看有无分配的ip
ifconfig
本机控制面板到这个地址下去
控制面板\网络和 Internet\网络和共享中心 更改适配器设置
查看以太网 右键—状态—详细信息(这里和等会修改虚拟机网卡的信息相关)
以太网: ——————>>> 虚拟机:IPv4:IP地址(只有IP不一样) IPADDR=IP地址IPv4子网掩码:子网掩码 NETMASK=子网掩码IPv4默认网关:默认网关 GATEWAY=网关IPv4DNS服务器:服务器 DNS1=服务器虚拟机的ip根据你本机的ip改 用 ping 命令测试 是否被占用 要在一个网关内哟
4、准备好信息,修改虚拟机网络
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=static //这里改成static静态的DEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=31ddae9d-57fd-46ee-a464-bd0c0ee6f913DEVICE=ens33ONBOOT=yes //这里原来是no 改成yesIPADDR=静态IPNETMASK=静态IP对应的子网掩码GATEWAY=静态IP的网关DNS1=服务器
重启网卡
systemctl restart network.service
使用 ping命令 从虚拟机到主机 主机到虚拟机 测试是否畅通
三、安装JDK
用文件传输工具吧JDK压缩包上传服务器
解压到/usr/local/class="lazy" data-src/JDK下
①查看是否安装了JDK
rpm -qa|grep java
②先卸载已经安装的JDK
rpm -e --nodeps 安装的JDK
③解压安装JDK
tar -zxvf JDK压缩包
④配置环境变量
vim /etc/profile如果不能用vim 可以使用vi或者安装vim:yum -y install vim*
⑤在末尾添加代码
export JAVA_HOME=JDK安装路径export PATH=$JAVA_HOME/bin:$PATH
然后按Esc 退出编辑,然后输入 :wq保存退出
⑥使修改的配置立刻生效
source /etc/profile
⑦检查jdk环境变量配置是否成功
java -version
⑧查看JDK安装路径
java -verbose
四、安装Tomcat
注意:(SpringBoot项目根据自己情况安装)
上传Tomcat压缩包安装包
解压到/usr/local/Tomcat
tar -zxvf ./apache-tomcat-8.5.15.tar.gz 后面不写路径表示解压到当前目录下
文件重命名
mv 文件名 修改后的文件名
配置环境变量 vim /etc/profile
export TOMCAT_HOME=/usr/local/Tomcat/tomcatexport CLASSPATH=$TOMCAT_HOME/lib/servlet-api.jar
启动Tomcat/关闭Tomcat
$TOMCAT_HOME/bin/startup.sh $TOMCAT_HOME/bin/hutdown.sh
查看Tomcat日志 Ctrl + C 退出
tail -f ./logs/catalina.out
五、安装MySQL
上传MySQL压缩包安装包
查看是否已经安装mysql
rpm -qa |grep mysqlrpm -qa |grep mariadb
卸载已安装的mysql
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
yum安装的删除
rpm -qa |grep mysqlyum remove 删除的文件名检查是否有残余:rpm -qa |greq -i mysql 如果有再次卸载终极检查:再来一遍rpm -qa |greq -i mysql看看还有没有残留清理文件:find / -name mysql删除文件:rm -rf 删除的目录
安装
单个文件安装:rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm 注意:要安装顺序安装rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm如果安装出现这个错误(没有出现就不管): 依赖检测失败: /usr/bin/perl 被 mysql-community-server-5.7.27-1.el7.x86_64 需要 perl(Getopt::Long) 被 mysql-community-server-5.7.27-1.el7.x86_64 需要 perl(strict) 被 mysql-community-server-5.7.27-1.el7.x86_64 需要安装依赖(需要网络):yum -y install perl.x86_64yum install -y libaio.x86_64yum -y install net-tools.x86_64就可以正常安装了
查看mysql是否安装成功
service mysqld status
启动MySQL服务
service mysqld start
停止MySQL服务
service mysqld stop
查看MySQL的随机密码
查看随机密码:grep 'temporary password' /var/log/mysqld.log //B,eXzjQqd5RE
连接数据库
mysql -u root -p
修改安全级别
set global validate_password_policy=0; //将密码安全级别设置为0,就表示只验证密码的长度set global validate_password_length=1; //将密码的默认长度验证设置为1.
修改MySQL数据库密码
alter user 'root'@'localhost' identified by '123456';
查看mysql的字符编码
show variables like 'character%';quit //退出mysql
进入配置文件
vim /etc/my.cnf
修改
在[mysqld] 下面添加:character-set-server=utf8在[mysqld] 下面添加:sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'解决问题:MySQL [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause在文件末尾添加 lower_case_table_names=1 (MySQL不限制大小写)
重启MySQL服务
service mysqld stopservice mysqld start
再次查看编码
show variables like 'character%';
设置允许远程连接数据库
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的远程链接密码' WITH GRANT OPTION;flush privileges; //刷新
设置防火墙
查看防火墙设置:firewall-cmd --list-all启动防火墙:service firewalld start关闭防火墙:service firewalld stop 注意:自己的服务器建议关闭,麻烦开放3306端口:firewall-cmd --permanent --add-port=3306/tcp删除端口:firewall-cmd --permanent --remove-port=3306/tcp
如果是云端服务器需要配置服务器的安全组
安全组:添加3306端口
六、安装Maven
上传到服务器
解压
tar -zxvf ./apache-maven-3.8.3-bin.tar.gz
配置环境变量
vi /etc/profileexport MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3 //自己的Maven路径export PATH=${MAVEN_HOME}/bin:${PATH}Esc退出编辑 :wq 退出source /etc/profile //刷新配置mvn -v //查看是否安装成功
配置镜像和仓库
打开maven的conf目录下的settings.xml文件镜像: nexus-aliyun *,!jeecg,!jeecg-snapshots Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public 仓库:根据自己的仓库地址来
七、安装Redis
上传到服务器
在 /usr/local/ 下创建 redis ⽂件夹并进⼊
cd /usr/local/mkdir rediscd redis
将 Redis 安装包解压到 /usr/local/redis 中即可
tar zxvf /root/redis-5.0.8.tar.gz -C ./
解压完之后, /usr/local/redis ⽬录中会出现⼀个 redis-5.0.8 的⽬录
编译并安装 如果有了redis要重新装的 必须要把redis彻底删除干净
cd redis-5.0.8/make && make install注意安装6.0也上的Redis可能出现gcc依赖版本过低,执行make && make install一直编译报错1、把reids的解压目录删掉依次执行下面代码yum -y install gcc-c++ #必须联网gcc -vyum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutilsscl enable devtoolset-9 bash2、设置永久升级(注意:scl命令启用只是临时的,推出xshell或者重启虚拟机就会恢复到原来的gcc版本。如果要长期生效的话)echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile重新解压开始操作
进⼊ utils ⽬录,并执⾏如下脚本即可
[root@localhost redis-5.0.8]# cd utils/[root@localhost utils]# ./install_server.sh如果出现:Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!错误解决方法:vim /install_server.sh找到代码: 差不多在76行 #bail if this system is managed by systemd #_pid_1_exe="$(readlink -f /proc/1/exe)" #if [ "${_pid_1_exe##*/}" = systemd ] #then # echo "This systems seems to use systemd." # echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!" # exit 1 #fi按 i 进入编辑然后注释掉这些代码在按Esc退出编辑模式 按:wq 退出并保存在执行./install_server.sh 出现Installation successful! 就是成功了
查看Redis是否启动
systemctl status redis_6379.service //我不介意使用系统给的服务 建议自己自定义一个服务
自定义启动脚本
跑到/etc/systemd/system/路径下面新建一个服务文件(注意不是文件夹哟)touch redis.service 新建服务文件chmod +x redis.service 给文件权限编辑文件: [Unit] //基础信息 Description=Redis //描述 After=network.target //是在那个服务后面启动,一般是网络服务启动后启动 [Service] //服务信息 // 启动服务的命令 ExecStart=redis-server服务路径 /配置文件路径 --daemonize no // 是停止服务的指令 ExecStop=redis-cli服务路径 -h IP地址 -p 6379 shutdown [Install] WantedBy=multi-user.target //是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。保存退出刷新配置:systemctl daemon-reload启动:systemctl start redis重启:systemctl restart redis停止:systemctl stop redis
启动⾃带的 redis-cli 客户端
redis-cli 进入后set a hahaget a 输出:haha
设置允许远程连接
编辑 redis 配置⽂件vim /etc/redis/6379.conf①.将 bind 127.0.0.1 修改为 0.0.0.0
然后重启 Redis 服务即可
systemctl restart redis
设置访问密码
vim /etc/redis/6379.conf找到如下内容: #requirepass foobared去掉注释,将 foobared 修改为⾃⼰想要的密码,保存即可。 比如:requirepass Crazyhao重启Redis服务
验证
redis-cli 这次要输入密码 进入后set a hahaget a 输出:haha
八、安装Node
上传到服务器
在 /usr/local/ 下创建 node ⽂件夹并进⼊
cd /usr/local/mkdir nodecd node
将 Node 的安装包解压到 /usr/local/node 中即可
[root@localhost node]# tar -xJvf /root/node-v12.16.3-linux-x64.tar.xz -C ./
解压完之后, /usr/local/node ⽬录中会出现⼀个 node-v12.16.3-linux-x64 的⽬录
编辑 vim /etc/profile ⽂件,在⽂件末尾追加如下信息
# Nodejsexport PATH=/usr/local/node/node-v12.16.3-linux-x64/bin:$PATH
刷新环境变量,使之⽣效即可
source /etc/profile
检查安装结果
node -v npm version 都有版本输出npx -v
九、安装Nginx
上传到服务器
在 /usr/local/ 下创建 nginx ⽂件夹并进⼊
cd /usr/local/mkdir nginxcd nginx
预先安装依赖,避免报错
yum -y install pcre-develyum -y install openssl openssl-devel
将 Nginx 安装包解压到 /usr/local/nginx 中即可
[root@localhost nginx]# tar zxvf /root/nginx-1.17.10.tar.gz -C ./
解压完之后, /usr/local/nginx ⽬录中会出现⼀个 nginx-1.17.10 的⽬录
编译安装NGINX
cd nginx-1.17.10//设置Nginx支持ssl./configure --prefix=/usr/local/nginx --with-http_ssl_module //支持ssl的同时支持fdfs插件,如果没有可以忽略此步骤./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/usr/local/fastdfs/fastdfs-nginx-module-1.22/class="lazy" data-src(后面路径是你的插件安装地址)// 如果不需要支持SSL和fastDFS可以直接跳过到这一步make && make install
安装完成后,Nginx的可执⾏⽂件位置位于
/usr/local/nginx/sbin/nginx
相关命令
①.进入/usr/local/nginx/sbin/nginx/sbin目录 ./nginx 启动nginx ./nginx -s stop 关闭nginx ./nginx -s reload 修改nginx.conf 配置后需要刷新 刷新不用关闭nginx nginx.conf路径在 /usr/local/nginx/sbin/nginx/conf
十、安装GIT⼯具
方式一:通过包管理器安装
在 Linux 上安装 Git 向来仅需⼀⾏命令即可搞定,因为各式各样的包管理器帮了我们⼤忙,所以对于
CentOS 系统来讲,直接执⾏如下命令即可安装:
yum install git
当然通过这种⽅式安装的 Git 可能不是较新版的 Git ,不过⼀般来说是够⽤的。
方式二:通过源码编译安装
如果想安装较新版本的 Git ,则需要⾃⾏下载 Git 源码来编译安装。
准备Git安装包,上传到服务器 root 下
在进⼊root
cd root
将 Git 安装包解压到当前目录中即可
tar -zxvf git-2.34.1.tar.gz
安装可能所需的依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker
编译安装Git
进入解压的目录
cd git-2.34.1/make configure./configure --prefix=/usr/local/gitmake profix=/usr/local/gitmake install
将 Git 加⼊环境变量
①配置环境变量
vim /etc/profile//尾部加⼊ Git 的 bin 路径配置即可############ Git ############export GIT_HOME=/usr/local/gitexport PATH=$PATH:$GIT_HOME/bin保存退出 :wq
刷新配置
source /etc/profile
查看安装结果
git --version
十一、上传前端项目并部署
将前端项目打包成zip上传到服务器
在cd /home 路径下面创建自己的前端文件夹
解压
unzip 文件名
删除原来的文件
rm -rf 文件名
前端项目安装依赖
npm install --unsafe-perm --registry=https://registry.npm.taobao.org
前端项目开始打包
npm run build 根据你自己的前端文件package.json来的
修改Nginx的配置
修改/usr/local/nginx/conf/nginx.conf43行location / { root /home/ruoyi-ui/ruoyi-ui/dist; //自己的前端打包路径 index index.html index.htm;}
浏览器测试
十二、上传后端项目并部署
上传后端项目jar包或者war包(服务器上面打包比较慢,所以我就在本地打的包,springboot项目我推荐就jar包)
在cd /home 路径下面创建自己的后端文件夹
jar包启动测试 进入自己的后端文件夹
java -jar 包名.jar 没有报错就可以 Ctrl+C 关闭
jar包启动方式
java -jar 包名.jar 这种启动方式 Ctrl+C 可以关闭(不推荐) 可以写服务脚本启动(推荐)nohup java -jar 包名.jar & 启动 这种方式 Ctrl+C 关闭不了(推荐) 关闭需要关闭进程实时查看日志:tail -f 日志文件查看进程:ps -ef |grep jar杀死进程:kill -9 进程码
war包启动方式(Tomcat)
①.war包放到tomcat的wabapp目录下②.在Tomcat的server.xml配置文件中配置 ③.重新启动tomcat就行了
修改nginx.conf实现前后端联调
server { listen 80; server_name localhost; proxy_set_header Host $host; location / { root /前端项目路径/dist/; try_files $uri /index.html; index index.html index.htm; } location /warehouse/ { //后端的接口路径 不知道的可以看前端浏览器 F12 查看网络 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Agent,X-Requested-Wind,If-Modified-Since,Cache-Control,Content-Type,Authorization'; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect off; proxy_connect_timeout 60; proxy_read_timeout 600; proxy_send_timeout 600; proxy_pass http://你的后端地址; //调转后端的路径 }}
来源地址:https://blog.csdn.net/CuiHaoNB/article/details/121897652
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341