服务器情况搭建
以腾讯云为例:
1.可以先用这个利用一个月的
2.访问服务器官网:腾讯云官网,进去先登录,再点击 控制台,找到 轻量应用服务器,进去之后会看见利用的服务器,有一个 公网IP(如下图),很紧张,不要告诉别人。
3.点击重置密码(如下图),重置密码会逼迫关机,等一会儿就重启乐成了。这里可以利用putty、Xshell、MobaXterm等等远程软件举行毗连,我这里利用 Xshell(这些都可以去官网下载,免费、安装方便、不用配置情况、可以立即利用)
4.创建快照,方便后续点错或者其他原因回滚训练,名字可以随意取
5.远程工具毗连服务器,乐成毗连后开始安装数据库。
6.安装 mysql 数据库,
- yum install mysql
- yum install mysql-server
- yum install mysql-devel
复制代码 安装mysql和mysql-devel都乐成,但是安装mysql-server失败,解决方法:官网下载安装mysql-server
- wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
- rpm -ivh mysql-community-release-el7-5.noarch.rpm
- yum install mysql-community-server
复制代码 (1)安装乐成后启动mysql服务
(2)设置mysql服务开机自启动
(3)数据库的相关下令
- systemctl disable mysqld //停止mysql服务开机自启动
- systemctl status mysqld //查看mysql服务当前状态
- systemctl restart mysqld //重启mysql服务
- systemctl stop mysqld //停止mysql服务
复制代码 (4)初次安装mysql,root账户没有密码,让输入密码的时间直接回车就行
(5)设置密码(这里密码随意,不要中文)
- set password for 'root'@'localhost' =password('root用户密码');
复制代码 7.防火墙开放 3306 端口,
- firewall-cmd --zone=public --add-port=3306/tcp --permanent
- //如果显示 not running 表示已经关闭防火墙,开启就可以了
- systemctl start firewalld.service //开启防火墙
- 继续执行开放3306端口的命令
- //开放3306端口
- firewall-cmd --zone=public --add-port=3306/tcp --permanent
- #success
- //防火墙重新加载配置
- firewall-cmd --reload
- #success
- //查看开放的端口
- firewall-cmd --list-ports
- # 3306/tcp
复制代码 防火墙相关下令
- //查看防火墙状态
- firewall-cmd --state
- 或者
- systemctl status firewalld
- //如果显示 not running 表示已经关闭防火墙。
- systemctl start firewalld.service //开启防火墙
- systemctl stop firewalld //关闭防火墙
- //重启防火墙
- firewall-cmd --relaod
- 或者
- systemctl reload firewalld
- systemctl enable firewalld //开机自启动防火墙
- systemctl disable firewalld //禁止开机启动防火墙
- firewall-cmd --permanent --zone=public --remove-port=8080/tcp #关闭8080端口
- //打开端口后查看
- firewall-cmd --zone=public --list-ports
- //查看所有打开的端口
- //显示端口已打开:
- #8848/tcp 5000/tcp
-
- //查看已开启的端口信息
- netstat -tulnp | grep :5000 //查看5000端口信息(指定)
- netstat -ntlp //查看全部端口信息
复制代码 8.配置 mysql 默认编码为 UTF-8 ,修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置:
- vim /etc/my.cnf
- [mysqld]
- character_set_server=utf8
- init_connect='SET NAMES utf8'
复制代码 输入 vim /etc/my.cnf 进入到这里,按 a 进入编辑模式,把编码配置粘贴到[mysqld]的下面,光标放到[mysqld]下面,鼠标右键点击一下粘贴,会弹出粘贴预览,粘贴后也要查抄有没有少字母或者多空格,添加完编码配置,然后按ESC键退出编辑模式,按键盘的shift键+:键,输入字母wq(肯定要小写),生存退出(肯定要在英文状态下),回车,回到了下令行界面
9.重启 mysql
10.云服务器放行 3306 端口,点击 防火墙-> 添加规则 ->输入3306->点击确定
11.idea 毗连数据库
摆设前端
进入 nginx 官网 ,点击 download ,下载稳定版,选择中心的,鼠标右键复制链接地址
做点准备工作
- //查看当前所在目录
- pwd
- #/root
- // 创建services目录,用来存放所有项目的依赖和安装包
- mkdir services
- //列出目前工作目录所含之文件及子目录
- ls
- #mysql-community-release-el7-5.noarch.rpm services
- //把之前的mysql的安装包移动到services目录中
- mv mysql-community-release-el7-5.noarch.rpm /root/services
- // 进入到services目录中
- cd services
- ls
- #mysql-community-release-el7-5.noarch.rpm
复制代码 把nginx安装包下载下来,并改名为nginx-1.20.2.tar.gz
- curl -o nginx-1.20.2.tar.gz http://nginx.org/download/nginx-1.20.2.tar.gz
- # % Total % Received % Xferd Average Speed Time Time Time Current
- # Dload Upload Total Spent Left Speed
- #100 1037k 100 1037k 0 0 48743 0 0:00:21 0:00:21 --:--:-- 46562
- ls
- # mysql-community-release-el7-5.noarch.rpm nginx-1.20.2.tar.gz
复制代码 解压nginx
- tar -zxvf nginx-1.20.2.tar.gz
- ls
- # mysql-community-release-el7-5.noarch.rpm nginx-1.20.2 nginx-1.20.2.tar.gz
复制代码 进入到nginx目录中
- nginx-1.20.2>> cd nginx-1.20.2
- nginx-1.20.2>> ls
- #auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
复制代码 安装相关依靠
- nginx-1.20.2>> yum install pcre pcre-devel -y
- nginx-1.20.2>> yum install openssl openssl-devel -y
复制代码 设置系统配置参数
- nginx-1.20.2>> ./configure --with-http_ssl_module --with-http_v2_module --with-stream
复制代码 开始编译
make报错
make: *** No rule to make target `build', needed by `default'. Stop.
解决方案:
- //安装下面配置
- yum -y install make zlib-devel gcc-c++ libtool openssl openssl-devel
- //重新configure
- ./configure
- //编译
- make
复制代码 安装
- nginx-1.20.2>> make install
复制代码 现在下令行输入 nginx 会报错,说找不到下令,需要配置情况变量
- nginx-1.20.2>> vim /etc/profile
- // 按下shift+g将光标定位到最后一行,新增以下内容:
- export PATH=$PATH:/usr/local/nginx/sbin
- //使文件生效
- nginx-1.20.2>> source /etc/profile
- nginx-1.20.2>> nginx
- //没有报错,环境变量配置完毕
- nginx-1.20.2>>
复制代码
检察当前所有tcp端口/检察启动情况
- nginx-1.20.2>> netstat -ntlp
- Active Internet connections (only servers)
- #Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
- #tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8210/nginx: master
- #tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1648/sshd
- #tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1120/master
- #tcp6 0 0 :::22 :::* LISTEN 1648/sshd
- #tcp6 0 0 ::1:25 :::* LISTEN 1120/master
- #tcp6 0 0 :::3306 :::* LISTEN 10626/mysqld
复制代码 复制nginx.conf配置文件.,并重定名为nginx.default.conf
- nginx-1.20.2>> ls
- #auto CHANGES.ru configure html Makefile objs src
- #CHANGES conf contrib LICENSE man README
- nginx-1.20.2>> cd /usr/local/nginx/conf
- conf>> ls
- #fastcgi.conf koi-utf nginx.conf uwsgi_params
- #fastcgi.conf.default koi-win nginx.conf.default uwsgi_params.default
- #fastcgi_params mime.types scgi_params win-utf
- #fastcgi_params.default mime.types.default scgi_params.default
- conf>> cp nginx.conf nginx.default.conf
- conf>> ls
- #fastcgi.conf koi-utf nginx.conf scgi_params.default
- #fastcgi.conf.default koi-win nginx.conf.default uwsgi_params
- #fastcgi_params mime.types nginx.default.conf uwsgi_params.default
- #fastcgi_params.default mime.types.default scgi_params win-utf
- //查看nginx.conf整个文件内容
- conf>> cat nginx.conf
- //以下是nginx.conf文件的内容:
- #user nobody;
- worker_processes 1;
- #error_log logs/error.log;
- #error_log logs/error.log notice;
- #error_log logs/error.log info;
- #pid logs/nginx.pid;
- events {
- worker_connections 1024;
- }
- http {
- include mime.types;
- default_type application/octet-stream;
- #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- # '$status $body_bytes_sent "$http_referer" '
- # '"$http_user_agent" "$http_x_forwarded_for"';
- #access_log logs/access.log main;
- sendfile on;
- #tcp_nopush on;
复制代码 回到services目录中
- conf>> cd /root/services
- services>>
复制代码 前端build一下,打包,上传(xftp)完毕之后,会在可视化目录显示,我们用下令检察也有
把dist改名为user-center-front,现在咱们所有的前端项目的代码已经上传到服务器上了
- services>> mv dist user-center-front
- services>> ls
- #mysql-community-release-el7-5.noarch.rpm nginx-1.20.2 nginx-1.20.2.tar.gz user-center-front
- services>> cd user-center-front
- user-center-front>> ls
- #165.1e462d15.chunk.css p__404.515fbfb7.async.js
- #165.e3d26100.async.js p__404.572eeed8.chunk.css
- #272.27714ff6.chunk.css p__Admin.d79862a3.async.js
- #272.be6c6be9.async.js p__Admin.db241442.chunk.css
- #326.873a9cc6.async.js p__Admin__UserManage.615c6438.async.js
- #719.2a859cd0.async.js p__Admin__UserManage.f59630d6.chunk.css
- #799.f321cbac.async.js pro_icon.svg
- #820.0a787cb0.chunk.css p__TableList.7a82e2b4.async.js
- #820.0de8dda5.async.js p__TableList.e56ebd76.chunk.css
- #835.da495036.async.js p__user__Login.d468acb1.async.js
- #868.2cfcdc0e.chunk.css p__user__Login.e7c9dfd1.chunk.css
- #868.a3575653.async.js p__user__Register.219ee459.async.js
- #907.e30beeda.async.js p__user__Register.c91a7b9e.chunk.css
- #918.cadf4497.async.js p__Welcome.517e0d2d.chunk.css
- #admin p__Welcome.d1cc9b1f.async.js
- #asset-manifest.json t__plugin-layout__Layout.7abfec92.async.js
- #CNAME t__plugin-layout__Layout.e2d8f4b7.chunk.css
- #favicon.ico umi.aeb188ce.js
- #icons umi.cd341d5b.css
- #index.html user
- #list welcome
- #logo.svg
复制代码 修改配置文件,设置启动用户和前端项目地点路径
- user-center-front>> cd /usr/local/nginx/conf
- conf>> vim nginx.conf
- 修改文件内容为:
- user root;(修改的地方)
- worker_processes 1;
- ....(省略)....
- location / {
- root /root/services/user-center-front;(修改的地方)
- index index.html index.htm;
- }
- ....(省略)....
- 然后按ESC键退出编辑模式,按 :wq 保存退出
复制代码
更新配置
可以访问公网ip地址了,会出现nginx页面(访问前要在云服务器网站开放80端口,还要在防火墙
手动增长80端口)
- conf>> firewall-cmd --zone=public --add-port=80/tcp --permanent
- #success
- //防火墙重新加载配置
- conf>> firewall-cmd --reload
- #success
- //查看开放的端口
- conf>> firewall-cmd --list-ports
- #3306/tcp 80/tcp
复制代码 然后用服务器的公网IP地址去网页地址栏访问一下,出现了登录页面。
后端摆设
java 安装,创建 jdk 目录
下载jdk17并将其放到我们所建立的目录中
- wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz -P /home/jdk17/
复制代码 解压文件
- tar xf /home/jdk17/jdk-17_linux-x64_bin.tar.gz -C /home/jdk17/
复制代码 检察安装的jdk具体的版本是什么
好比我的是jdk-17.0.7肯定要记清楚这个版本号哦,下面修改情况变量的时间要利用的
修改情况变量
留意javahome的路径是我们刚刚设置的那个文件夹
- export JAVA_HOME=/home/jdk17/jdk-17.0.7
- export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
- export PATH=$JAVA_HOME/bin:$PATH
复制代码
刷新情况变量
测试是否安装乐成
安装maven
- conf>> cd /root/services/
- services>> curl -o apache-maven-3.8.5-bin.tar.gz https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
- services>> ls
- #apache-maven-3.8.5-bin.tar.gz nginx-1.20.2 user-center-front
- #mysql-community-release-el7-5.noarch.rpm nginx-1.20.2.tar.gz
- //解压
- services>> tar -zxvf apache-maven-3.8.5-bin.tar.gz
- services>> ls
- #apache-maven-3.8.5 mysql-community-release-el7-5.noarch.rpm nginx-1.20.2.tar.gz
- #apache-maven-3.8.5-bin.tar.gz nginx-1.20.2 user-center-front
复制代码 进入 maven
- services>> cd apache-maven-3.8.5
- apache-maven-3.8.5>> cd bin
- bin>> ls
- #m2.conf mvn mvn.cmd mvnDebug mvnDebug.cmd mvnyjp
- //这里的mvn是maven的可执行文件,咱们就是用这个文件去构建项目
- //复制当前所在的目录路径
- bin>> pwd
- #/root/services/apache-maven-3.8.5/bin
复制代码 添加情况变量
- bin>> vim /etc/profile
- // 按下shift+g将光标定位到最后一行,把刚刚复制的路径粘贴到nginx环境变量后面:
- .....nginx/sbin:/root/services/apache-maven-3.8.5/bin
- 然后按ESC键退出编辑模式,按 :wq 保存退出
- //使文件生效
- bin>> source /etc/profile
复制代码 看看情况变量是否配置乐成
- bin>> cd /root/services/
- services>> mvn -v
- #Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0)
- #Maven home: /root/services/apache-maven-3.8.5
- #Java version: 1.8.0_322, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre
- #Default locale: en_US, platform encoding: UTF-8
- #OS name: "linux", version: "3.10.0-1160.45.1.el7.x86_64", arch: "amd64", family: "unix"
- //可以查看maven命令的帮助
- services>> mvn --help
复制代码
现在要把后端项目也放上去,用git拉去或直接把项目拖到services目录中 idea 利用 git
服务器下载git,就可以用git拉取了
- services>> yum install -y git
复制代码 进入到后端项目中
- services>> cd user-center-backend
- user-center-backend>> ls
- #mvnw mvnw.cmd pom.xml README.md sql src
复制代码 用 mvn 编译一下
- //打包构建,跳过测试
- user-center-backend>> mvn package -DskipTests
- //这个构建完之后就是之前后端打包的jar,可以直接用之前的jar
- //拖到user-center-backend目录中去执行,因为maven默认会去国外下载依赖,很慢
- //直接用我们之前打包好的也行
- user-center-backend>> ls
- #mvnw mvnw.cmd pom.xml README.md sql src user-center-backend-0.0.1-SNAPSHOT.jar
复制代码 执行
- user-center-backend>> java -jar ./user-center-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
- //执行后如果显示没有权限;给这个文件添加可执行权限
- user-center-backend>> chmod a+x user-center-backend-0.0.1-SNAPSHOT.jar
- //再ls就会发现user-center-backend-0.0.1-SNAPSHOT.jar变成绿色了
- user-center-backend>> ls
- //再次执行
- user-center-backend>> java -jar ./user-center-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
- //当然这么用的话,这个窗口就不能做任何事了,被这个命令占满了,按ctrl+c中断它
- //让它在后台运行
- user-center-backend>> nohup java -jar ./user-center-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &
- //可以看见它正在运行
- user-center-backend>> jobs
- #[1]+ Running nohup java -jar ./user-center-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &
- //这里可以看到java在8080端口启动了
- user-center-backend>> netstat -ntlp
- #Active Internet connections (only servers)
- #Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
- #tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1393/sshd
- #tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1396/master
- #tcp6 0 0 :::3306 :::* LISTEN 1441/mysqld
- #tcp6 0 0 :::8080 :::* LISTEN 4367/java
- #tcp6 0 0 :::22 :::* LISTEN 1393/sshd
- #tcp6 0 0 ::1:25 :::* LISTEN 1396/master
- //用jps也可以看到运行的java程序
- user-center-backend>> jps
- #7298 Jps
- #4367 user-center-backend-0.0.1-SNAPSHOT.jar
复制代码 Ending:
OK,本篇文章就到此结束了,非常感谢你能看到这里,所以如果你以为这篇文章对你有帮助的话,请点一个大大的赞,支持一下博主,若你以为有什么问题或疑问,欢迎私信博主或在批评区指出~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |