学习过程:
上午八点刚上JavaWeb课,我掏出了我的python书,准备把昨天没完成的任务补补,习惯性的打开阮一峰的博客,看到了一个很有意思的外挂,我看到它以后很激动,因为从开始学编程以来,我不怕代码,bug会让我很兴奋,但是我最最讨厌的就是配置运行环境,配置jdk、maven、mysql、环境变量、linux虚拟机、nginx、redis、还有刚开始学web的时候jar包冲突等等一系列环境问题,从来不敢想这些问题,头皮发麻(不是因为难,而是麻烦)。springboot把web的jar包环境问题解决了一大半,但是配置环境一直是无法越过的坎儿,曾经无数次想换电脑,但是想起我还得配置jdk,瞬间就不什么都不想了。看到这个外挂让我心中充满了希望,我决定试一试它。然后打开虚拟机准备新建一个试试,突然我想起了服务器,我就区百度查,有没有配置好的服务器,里面什么都有,我连这个外挂都不用配置。然后就查到了阿里云的ECS,我看到自动化部署时,我决定了,不管多少钱我都要租一台玩一玩。正好现在还是学生,有折扣140块钱买了一年的最低配置。单核,2G内存,够我玩儿了。让人绝望的事发生了,按照它的模板创建资源栈的时候,老是报错,查了半天也不知道原因,好在还有一个公网ip可以给我缓缓,要不然真就被气死了。噩梦开始了,用X Shell远程连接到服务器,发现里面是干干净净(想哭)。突然萌生了一个想法,一个月前写了一个博客系统,觉得是时候让大伙瞧一瞧了。
先从nginx开始https://blog.csdn.net/qq_41835813/article/details/106131782
因为之前配置过,所以nginx很快就配置完成了,主要是修改一下配置文件,此处有个小坑,nginx配置文件默认监听80端口,但是阿里云的服务器启动时已经把80端口占用了(被云盾),所以改成90端口就ok。
server {
listen 90;
server_name 101.200.201.196;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
熟悉的画面
jdk它来了
https://www.cnblogs.com/huashengweilong/p/11533641.html跟着大佬的步伐,俩分钟完事儿。
最最烦人的mysql
我内心是拒绝的,因为之前就见识过mysql版本太高,驱动版本不兼容,和springboot也不兼容的威力。可以说是有生之年再也不想碰到这种情况系列。
https://blog.csdn.net/peyte1/article/details/85015170 安装mysql8
https://zhuanlan.zhihu.com/p/141778941 重置密码
(报错解决方案)
1.No match for argument: mysql-community-server Error: Unable to find a match: mysql-community-server
链接:https://www.cnblogs.com/Qtoken/p/12876885.html
2.Job for mysqld.service failed because the control process exited with error code
链接:https://blog.csdn.net/aiyowei1106/article/details/88703746
3.修改密码不成功 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
https://blog.csdn.net/calistom/article/details/87939956
4.Navicat远程连接
https://www.imooc.com/article/254376
5.执行sql脚本
在mysql数据库里(use 数据库名),source 全路径 开始执行
6.完全卸载
https://blog.csdn.net/qq_41829904/article/details/92966943
这里为什么要卸载呢,因为我安装的是mysql8,而我之前写的项目之和mysql5适配。我把mysql8安装完以后还敲了一会儿sql语句,上了个测试就意识到了事情的严重性,我在犹豫,是改源代码,还是改mysql版本。最后还是选择了改mysql版本,因为mysql5是零几年的产物,现在网上很多资料都没有了。但是功夫不负有心人,还是让我找到了,https://blog.csdn.net/u013517229/article/details/79412170?utm_medium=distribute.pc_relevant.none-task-blog-title-3&spm=1001.2101.3001.4242,改密码环节请参考上面第三项。
然后把jar包传到服务器,java -jar *****,它跑起来了,多美呀!!
当看到这一串json数据时,我感觉我一天的努力没有白费。
Node.js + Vue +Element-UI 无敌前端套餐
视频:https://www.bilibili.com/video/BV1uK411p7Bp?from=search&seid=1917969608301981299
node.js博客:https://blog.csdn.net/weixin_39706415/article/details/88714904
我是把vue打包部署到nginx上的,
nginx配置文件:
小细节:
前端发送请求默认带/prod-api/ 需要nginx配置代理7001端口转发到7002端口然后再匹配路径
#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;
client_max_body_size 200m;
#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;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 90;
server_name 101.200.201.196;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/local/node/node-v11.12.0/workspace/vue-LCboke/dist;
index index.html index.htm;
}
location /prod-api/ {
proxy_set_header Host $http_host;
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_pass http://101.200.201.169:7001/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server{
listen 7001;
server_name 101.200.201.196;
location / {
root /usr/local/node/node-v11.12.0/workspace/vue-LCboke/dist;
index index.html index.htm;
}
location /prod-api/{
proxy_set_header Host $http_host;
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_pass http://101.200.201.196:7002/;
}
}
server{
listen 7002;
server_name 101.200.201.196;
location ~ /oss/ {
proxy_pass http://101.200.201.196:9001;
}
location ~ /sec/ {
proxy_pass http://101.200.201.196:8013;
}
location ~ lcbk/ {
proxy_pass http://101.200.201.196:8888;
}
}
}
环境整合完毕,结束意味着新的开始
接下来又轮到乱码和优化环节了,一步一步解决吧。
也许这就是编程的魅力,没有捷径,全凭自己。