Nacos学习(一):Nacos1.1.4在CentOS7下载源文件、编绎、安装、运行、注册成Linux服务

Nacos官网:https://nacos.io/zh-cn/
本文记录了Nacos1.1.4在CentOS7下的源文件的下载、编绎、安装的过程。
一、Maven安装
Maven官网:http://maven.apache.org/
到Maven官网下载最新版本:apache-maven-3.6.2-bin.tar.gz
注:Nacos要求的Maven是Maven 3.2.x+以上版本;
Maven安装比较简单,解压后设置配置文件即可;
步骤1:解压
tar -zxvf apache-maven-3.6.2-bin.tar.gz
步骤2:将Maven安装到/usr/local/maven362目录,实际上就是把解压后的文件移到/usr/local/maven362
mv apache-maven-3.6.2 /usr/local/maven362
步骤3:Maven环境变量设置
在/etc/profile中尾添加以下代码:
MAVEN_HOME=/usr/local/maven362
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
执行:source /etc/profile使环境变量生效;
步骤4:设置Maven配置
Maven配置文件优先选择~/.m2/setting.xml,其次选择安装目录下conf/setting.xml
由于Maven用Archiva做企业内部的代理,所以需要设置setting.xml文件,否则,也可以略去这步。
在这里,我们选择直接修改安装目录下的 conf/setting.xml文件;
注:要特别注意,当前用户目录下是否存在~/.m2/setting.xml,如果存在,则会优先选用它。
setting.xml文件设置如下:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

    <localRepository>/usr/local/maven362/repository</localRepository>

    <servers>
        <server>
            <id>internal</id>
            <username>admin</username>
            <password>1qazxsw2</password>
        </server>
        <server>
            <id>snapshots</id>
            <username>admin</username>
            <password>1qazxsw2</password>
        </server>
    </servers>

    <mirrors>
        <mirror>
            <id>internal</id>
            <name>Archiva Managed Internal Repository</name>
            <url>http://192.168.20.11:8080/repository/internal</url>
            <mirrorOf>*</mirrorOf>
        </mirror>
        <mirror>
            <id>snapshots</id>
            <name>Archiva Managed Snapshot Repository</name>
            <url>http://192.168.20.11:8080/repository/snapshots</url>
            <mirrorOf>*</mirrorOf>
        </mirror>
    </mirrors>

    <profiles>
        <profile>
            <id>archiva</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <repositories>
                <repository>
                    <id>central</id>
                    <url>https://repo.maven.apache.org/maven2</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>spring-snapshots</id>
                    <name>Spring Snapshots</name>
                    <url>https://repo.spring.io/snapshot</url>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>spring-milestones</id>
                    <name>Spring Milestones</name>
                    <url>https://repo.spring.io/milestone</url>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>https://repo.maven.apache.org/maven2</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>spring-snapshots</id>
                    <name>Spring Snapshots</name>
                    <url>https://repo.spring.io/snapshot</url>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>spring-milestones</id>
                    <name>Spring Milestones</name>
                    <url>https://repo.spring.io/milestone</url>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>

    <activeProfiles>
        <activeProfile>archiva</activeProfile>
    </activeProfiles>
</settings>
步骤5:测试Maven
执行:mvn -v
输出maven版本号及配置信息;

二、git安装
很简单:yum -y install git

三、JDK安装
JDK可以采用openjdk1.8,但需要安装开发版,不能仅jre。
先查询当前系统JDK安装情况:
查询java安装版本及目录:
alternatives --display java
查询JAVA_HOME环境变量:
echo $JAVA_HOME
需要openjdk开发版1.8或jdk1.8以上;
下面的操作可以用于升级或安装openjdk:
步骤1、查看yum提供的openjdk:
yum search java | grep jdk
查到以下版本的openjdk:java-1.8.0-openjdk-devel.x86_64
步骤2、安装
yum install java-1.8.0-openjdk-devel.x86_64
步骤3、设置JAVA_HOME环境变量
在/etc/profile中尾添加以下代码:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64
export PATH=$PATH:$JAVA_HOME/bin
执行:source /etc/profile使环境变量生效;
步骤4、测试Java
java -version

四、下载Nacos
git clone https://github.com/alibaba/nacos.git

五、Maven安装Nacos
cd nacos/
mvn -Prelease-nacos clean install -U  
成功的话,将会在nacos/distribution/target/nacos-server-1.1.4/目录下生成nacos打包后的目录。
该目录内容即最后的可发布包。
将发布包复制到/usr/local目录下:
cp distribution/target/nacos-server-1.1.4  /usr/local

六、启动Nacos
cd /usr/local/nacos-server-1.1.4/nacos/bin
sh startup.sh -m standalone
访问登录页面:http://127.0.0.1:8848/nacos/index.html#/login
默认登录用户、密码:nacos\nacos;

七、防火墙处理
Nacos默认采用8848端口。防火墙开启8848端口相关命令:
firewall-cmd --zone=public --add-port=8848/tcp --permanent
service firewalld restart
查看已开启端口列表:
firewall-cmd --permanent --list-port

至此,nacos源码下载、编绎、standalone模式启动已完成。
但是standalone模式启动的nacos仅适用于开发、测试。
standalone模式采用Aptech的Embedded数据库。通过startup.sh文件可以知,standalone启动内存占用也较小:
if [[ "${MODE}" == "standalone" ]]; then
    JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"
    JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
    JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
    JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"
fi
下一步,我们将把Nacos的数据库改为mysql、采用并发模式启动;

八、把Nacos安装成Linux服务

在/etc/systemd/system/multi-user.target.wants创建nacos.service文件:

[Unit]
Discription=Nacos1.1.4
After=network.target

[Service]
Type=forking
User=root
Group=root
ExecStart=/usr/local/nacos-server-1.1.4/nacos/bin/startup.sh
ExecStop=/usr/local/nacos-server-1.1.4/nacos/bin/shutdown.sh
Restart=no

[Install]
WantedBy=muti-usr.target

其中ExecStart和ExecStop分别指向Nacos安装路径下的startup.sh和shutdown.sh

重启或者执行

#重新加载systemd
systemctl daemon-reload
#以systemd方式启动redis实例
systemctl start redis_systemd.service

#查看运行状态

systemctl status nacos -l

 

 

 

 


版权声明:本文为u012480990原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。