1.配置环境
nacos版本:1.4.1
linux:centos7
linux配置:内存4G,防火墙已关闭(如果是云服务器记得开放防火墙端口,切记!!)
JDK版本1.8
工具:xshell、xftp
2.环境部署
提取码:gh84
选择linux的tar包
将nacos安装包放入root文件夹下并解压,如下图
3.切换mysql持久化
将nacos-mysql.sql的sql语句在自己的mysql的nacos_config数据库中执行
可以参考之前发的nacos持久化配置windos版的和linux大相庭径
参考链接4.文件配置和修改
application.properties如下图
在该文件的结尾添加下面两块代码
spring.datasource.platform=mysql
db.num=1//数据库数量
db.url.0=jdbc:mysql://192.168.35.128:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
//数据库连接信息,?后面的请参照这个就是官网给出的
db.user=root//用户名
db.password=123456//密码
查看本机IP
hostname -i
修改cluster.conf
使用我们刚刚查找的主机名添加 3333,4444,5555 端口
修改startup.sh
修改如下
i)
PORT=$OPTARG;;
nohup {PORT} ${JAVA_OPT} nacos.nacos >>${BASE_DIR}/logs/start.out 2>&1 &注意-和JAVA之间有空格
5.启动nacos
在bin文件夹路径下执行启动命令
./startup.sh -i 3333 //-i 的 i是我们上面配置的
这里启动我碰到了内存不足的导致启动失败的问题
两种方案:1.增加本机内存 2.修改启动文件减少内存配置
增加内存就不多说了
修改启动文件startup.sh如下图
这个问题解决后重新执行启动命令 3333 4444 5555 都是一样的
启动完成后检查有几个nacos启动了
ps -ef|grep nacos|grep -v grep |wc -l
如上图发现有3个说明启动成功了
6.启动nginx和配置nginx
由于我对nginx的配置不是很熟,所以下面会写的比较详细,注意这是使用docker进行nginx启动的。(其实好像也都差不多)
下载nginx docker pull nginx 下载最新版的就可以了
先不用做任何配置直接启动nginx就可以
docker run -d --name mynginx -p 80:80 nginx
先访问一下看看有没有启动,这一步主要想验证一下这个镜像的文件是否可以启动成功
然后先创建一下我们的nginx目录
创建以上几个文件夹
进入刚刚的启动的nginx容器进行文件拷贝
docker run -i -t nginx /bin/bash
nginx.conf 的文件路径为
/etc/nginx/nginx.conf
default.conf的文件路径
/etc/nginx/conf.d/default.conf
默认首页文件夹html路径
/usr/share/nginx/html
如何找这些文件可以参考这篇博客
参考链接
然后进行找到上面的文件拷贝:拷贝格式如下
docker cp cd8d78fc01ec :/etc/nginx/nginx.conf /server/nginx/conf
docker cp 为docker 文件拷贝命令
cd8d78fc01ec 为上面启动nginx 的容器id
:/etc/nginx/nginx.conf 为我们在nginx镜像中找到的nginx.conf文件路径
/server/nginx/conf 为我们创建存放文件的地址
然后default.conf、index.html 文件也像这样的格式进行拷贝
拷贝完成后我们的我们拷贝出来的nginx的nginx.conf 和 default.conf进行修改
至于index.html首页展示是否需要修改随意
进行nginx.conf 修改完成后代码
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/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 /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
图片展示
default.conf 修改后
upstream cluster{
server 192.168.35.128:3333;
server 192.168.35.128:4444;
server 192.168.35.128:5555;
}
server {
listen 1111;
listen [::]:1111;
server_name 192.168.35.128;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
#root /usr/share/nginx/html;
#index index.html index.htm;
proxy_pass http://cluster;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
图片展示注解
这些都配置完成后说明我们的nginx配置就完成了
现在使用docker进行nginx启动并且挂载配置文件
这里如果之前nginx启动没有关闭的现在关闭一下
docker stop nginx容器id //停止之前的nginx
docker rm nginx容器id //删除之前的nginx
启动nginx 并且挂载我们自己的配置文件(/server/nginx下面的)
docker run --name mynginx -d -p 1111:1111 -v
/server/nginx/html:/usr/share/nginx/html -v
/server/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v
/server/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v
/server/nginx/logs:/var/log/nginx nginx
注意 -v 前后都有空格
docker run : docker启动命令
–name : 给启动容器设置别名
mynginx : 别名
-d : nginx 需要挂载的版本 这个我们写到了最后面 就是最后面的nginx 由于是最新版本就可以这样写,如果是1.17.1这样的需要进行 nginx:1.17.1 这样的格式编写
-p 1111:1111 端口映射
-v :这个可以理解成将容器中某个文件替换成我们指定路径的文件,但是书写的顺序需要相反如下
/server/nginx/html:/usr/share/nginx/html :/server/nginx/html 我们的配置文件路径 , 、:/usr/share/nginx/html 容器的文件路径
启动完成后查看是否启动成功
docker ps -a
如果显示失败请查看日志
docker logs 容器id
如果启动成功访问
成功页面,用户名密码都是nacos
这样就配置完了,大概历时了一个月,很多东西之前都不会,可能写的会有遗漏,可以给我留言。