最近入手了一波腾讯云的双十二服务器,太香了!太香了!太香了!
本人一下子买了三年,又可以挥霍了。
如果想购买的,可以点击链接了解情况(真的很实惠):https://curl.qcloud.com/u0lD9kgZ
那既然作为开发服务器,当然是要先装一下环境了,下面我根据本人购买的一台全新服务器进行环境安装,只要会复制就可以把环境装好,下面我们开始把!
yum更换源(国内)
目的就是在使用yum下载软件的时候不至于非常缓慢(龟速)
1、份系统自带的源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
2、用wget下载阿里源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
如果提示没有wget,可以使用curl下载
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、清除并重建缓存
yum clean all yum makecache
4、更新 yum
yum update
Linux端口放开
先来放开一下服务器的端口访问,因为很多软件都要通过浏览器,而 Linux 又因为防火墙问题,会拦截未开放的端口,所以先来了解几个 Linux 中放开防火墙端口命令。
1、如果是云服务器,那先跑到对应服务器网站后台,放开端口。
我是腾讯云,所以如图:
2、登录服务器,查看防火墙状态
firewall-cmd --state
3、如果没启动,那启动命令
systemctl start firewalld.service
4、如果没启动,那启动命令
systemctl start firewalld.service
5、重启命令
systemctl restart firewalld.service
6、查看防火墙已经开放端口
firewall-cmd --list-ports
7、防火墙放开端口
firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效) 例子: firewall-cmd --zone=public --add-port=8848/tcp --permanent
8、移除防火墙端口开发
firewall-cmd --zone= public --remove-port=80/tcp --permanent
端口开放之后,记得重启防火墙
常用端口应该都放开,本人端口放开如下:
80,8080,9527:项目经常测试端口
6379:Redis 端口
3306:数据库端口
22:ssh连接端口
8848:nacos端口
…
JDK11安装
国内下载地址:https://repo.huaweicloud.com/java/jdk/
软件下载:https://repo.huaweicloud.com/java/jdk/11+28/jdk-11_linux-x64_bin.tar.gz
1、获取软件,并解压
cd /usr/local/ tar -zxvf jdk-11_linux-x64_bin.tar.gz
2、清除环境中原有的java
先执行java -version
确认没有java
然后检查是否有相关的rpm包 rpm -qa | grep java
如果有就依次卸载包:rpm -e --nodeps "package_name"
3、配置环境变量
vim /etc/profile
在文件末尾输入以下内容:
export JAVA_HOME=/usr/local/jdk-11 export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin
4、执行如下命令加载环境变量并确认java安装完成
source /etc/profile java -version
nginx安装
下载地址: http://nginx.org/en/download.html
在linux下安装nginx,首先需要安装 gcc-c++编译器。然后安装nginx依赖的pcre和zlib包。最后安装nginx即可。
1、先安装gcc-c++编译器
yum install gcc-c++ yum install -y openssl openssl-devel
2、再安装pcre包
yum install -y pcre pcre-devel
3、再安装zlib包
yum install -y zlib zlib-devel
4、在/usr/local/下创建文件nginx文件
mkdir /usr/local/nginx
5、解压并进入nginx目录
tar -zxvf nginx-1.19.9.tar.gz cd nginx-1.19.9
6、使用nginx默认配置
./configure --prefix=/usr/local/nginx make make install
7、运行
cd /usr/local/nginx/sbin ./nginx
8、访问:
http://IP/
9、重启命令
./nginx -s reload
nacos软件
官网:https://nacos.io/zh-cn/index.html
下载地址:https://github.com/alibaba/nacos/releases/tag/1.4.2
1、解压
tar -xvf nacos-server-1.4.2.tar.gz
2、单机启动
cd /usr/local/nacos/bin ./startup.sh -m standalone
如果提示,权限不够,修改执行文件权限,再次启动:
chmod u+x *.sh
3、查看是否启动
ps -ef | grep nacos
4、如果启动不成功,那应该就是nacos的启动参数配置的太大,或者 jdk 版本不对,本人是 jdk11 服务器比较小,调整了启动参数,对应的 nacos 配置文件如下:
vim /usr/local/nacos/bin/startup.sh
将下面配置覆盖过去就行。
#!/bin/bash # Copyright 1999-2018 Alibaba Group Holding Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. cygwin=false darwin=false os400=false case "`uname`" in CYGWIN*) cygwin=true;; Darwin*) darwin=true;; OS400*) os400=true;; esac error_exit () { echo "ERROR: $1 !!" exit 1 } [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java [ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME if [ -z "$JAVA_HOME" ]; then if $darwin; then if [ -x '/usr/libexec/java_home' ] ; then export JAVA_HOME=`/usr/libexec/java_home` elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" fi else JAVA_PATH=`dirname $(readlink -f $(which javac))` if [ "x$JAVA_PATH" != "x" ]; then export JAVA_HOME=`dirname $JAVA_PATH 2>/dev/null` fi fi if [ -z "$JAVA_HOME" ]; then error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better!" fi fi export SERVER="nacos-server" export MODE="cluster" export FUNCTION_MODE="all" export MEMBER_LIST="" export EMBEDDED_STORAGE="" while getopts ":m:f:s:c:p:" opt do case $opt in m) MODE=$OPTARG;; f) FUNCTION_MODE=$OPTARG;; s) SERVER=$OPTARG;; c) MEMBER_LIST=$OPTARG;; p) EMBEDDED_STORAGE=$OPTARG;; ?) echo "Unknown parameter" exit 1;; esac done export JAVA_HOME export JAVA="$JAVA_HOME/bin/java" export BASE_DIR=`cd $(dirname $0)/..; pwd` export CUSTOM_SEARCH_LOCATIONS=file:${BASE_DIR}/conf/ #=========================================================================================== # JVM Configuration #=========================================================================================== if [[ "${MODE}" == "standalone" ]]; then #JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m" JAVA_OPT="${JAVA_OPT} -Xms64m -Xmx64m -Xmn64m" JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true" else if [[ "${EMBEDDED_STORAGE}" == "embedded" ]]; then JAVA_OPT="${JAVA_OPT} -DembeddedStorage=true" fi 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 if [[ "${FUNCTION_MODE}" == "config" ]]; then JAVA_OPT="${JAVA_OPT} -Dnacos.functionMode=config" elif [[ "${FUNCTION_MODE}" == "naming" ]]; then JAVA_OPT="${JAVA_OPT} -Dnacos.functionMode=naming" fi JAVA_OPT="${JAVA_OPT} -Dnacos.member.list=${MEMBER_LIST}" JAVA_MAJOR_VERSION=$($JAVA -version 2>&1 | sed -E -n 's/.* version "([0-9]*).*$/\1/p') if [[ "$JAVA_MAJOR_VERSION" -ge "9" ]] ; then JAVA_OPT="${JAVA_OPT} -Xlog:gc*:file=${BASE_DIR}/logs/nacos_gc.log:time,tags:filecount=10,filesize=102400" else # JAVA_OPT_EXT_FIX="-Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext" JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext" JAVA_OPT="${JAVA_OPT} -Xloggc:${BASE_DIR}/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M" fi JAVA_OPT="${JAVA_OPT} -Dloader.path=${BASE_DIR}/plugins/health,${BASE_DIR}/plugins/cmdb" JAVA_OPT="${JAVA_OPT} -Dnacos.home=${BASE_DIR}" JAVA_OPT="${JAVA_OPT} -jar ${BASE_DIR}/target/${SERVER}.jar" JAVA_OPT="${JAVA_OPT} ${JAVA_OPT_EXT}" JAVA_OPT="${JAVA_OPT} --spring.config.additional-location=${CUSTOM_SEARCH_LOCATIONS}" JAVA_OPT="${JAVA_OPT} --logging.config=${BASE_DIR}/conf/nacos-logback.xml" JAVA_OPT="${JAVA_OPT} --server.max-http-header-size=524288" if [ ! -d "${BASE_DIR}/logs" ]; then mkdir ${BASE_DIR}/logs fi #echo "$JAVA $JAVA_OPT_EXT_FIX ${JAVA_OPT}" echo "$JAVA ${JAVA_OPT}" if [[ "${MODE}" == "standalone" ]]; then echo "nacos is starting with standalone" else echo "nacos is starting with cluster" fi # check the start.out log output file if [ ! -f "${BASE_DIR}/logs/start.out" ]; then touch "${BASE_DIR}/logs/start.out" fi # start #echo "$JAVA $JAVA_OPT_EXT_FIX ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 & #nohup "$JAVA" "$JAVA_OPT_EXT_FIX" ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 & echo "$JAVA ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 & nohup $JAVA ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 & echo "nacos is starting,you can check the ${BASE_DIR}/logs/start.out"
主要改动,修改 JDK 及 运行参数,现在就可以开始运行了
5、查看启动日志
tail -1000f /usr/local/nacos/logs/start.out
6、访问
http://IP:8848/nacos/index.html
Redis安装
官网下载:http://www.redis.cn/download.html
我下载的版本地址:http://download.redis.io/releases/redis-5.0.4.tar.gz
1、上传文件到对应目录
/usr/local/
2、解压
tar -xzvf redis-5.0.4.tar.gz
3、安装,指定对应目录安装
cd redis-5.0.4 make cd src make install PREFIX=/usr/local/redis
4、配置配置文件到安装目录
mkdir /usr/local/redis/etc cd /usr/local/redis-5.0.4 mv redis.conf /usr/local/redis/etc
5、配置 Redis 后台启动
vim /usr/local/redis/etc/redis.conf # no 改为 yes daemonize no 改为 yes
6、修改 ip 保护,关闭保护模式
#注释 bind #bind 127.0,0,1 #yes 改为 no protected-mode yes 改为 no
7、启动Redis
cd /usr/local/redis/bin ./redis-server /usr/local/redis/etc/redis.conf
8、查看是否启动
ps -ef | grep redis
Docker安装
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上(已经具备了)。
1、查看内核版本
uname -r
2、安装 Docker
yum install docker
3、启动 Docker
systemctl start docker
4、查看版本
docker -v
5、停止 Docker
systemctl stop docker
6、最后配置一下 docker 的下载镜像地址,因为 docker 默认是国外下载地址,如果不配置就是龟速下载
执行以下命令,打开 /etc/docker/daemon.json
配置文件
vim /etc/docker/daemon.json
按 i 切换至编辑模式,添加以下内容,并保存退出
{ "registry-mirrors": [ "https://mirror.ccs.tencentyun.com" ] }
重启 docker
service docker restart
7、退出容器
两种退出方式:
exit:容器停止退出
ctrl+P+Q:容器不停止退出
通过 Docker 安装 MySQL
用 Docker 安装 MySQL 的原因是它比较方便,安装出错了删除镜像就行,比直接在服务器上安装简单多了。
1、保证你的 Docker 安装并且启动了
2、搜索 MySQL 镜像
docker search mysql
3、拉取对应版本数据库(这里我安装5.7)
docker pull mysql:5.7
4、查看拉取的镜像列表
docker images
5、删除镜像
docker rmi -f 镜像id
6、先创建相关目录
cd /usr/local/ mkdir mysql cd mysql mkdir -p {conf,logs,data}
7、启动 MySQL
docker run -p 3306:3306 --name mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/logs:/logs -v /us
解释:
- -p 3306:3306,将Linux服务器端口与docker中的镜像端口绑定
- –name mysql,运行服务名字
- -v /usr/local/mysql/conf:/etc/mysql/conf.d,将主机 /usr/local/mysql/conf 录下的 my.cnf 挂载到容器的 /etc/mysql/conf.d
- -v /usr/local/mysql/logs:/logs,将主机 /usr/local/mysql 目录下的 logs 目录挂载到容器的 /logs。
- -v /usr/local/mysql/data:/var/lib/mysql,将主机 /usr/local/mysql/ 目录下的 data 目录挂载到容器的 /var/lib/mysql
- -e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码。
- -d mysql:5.7 ,后台程序运行mysql5.7
8、查看运行的镜像
docker ps -a # -a :列出当前所有正在运行的容器+历史上运行过的
9、进入 docker 中的 MySQL
docker exec -it MySQL运行成功后的容器ID /bin/bash mysql -u用户 -p密码
10、下面是配置 MySQL 相关命令,已经和 docker 没有关系了
#进入mysql数据库 use mysql; #查看host与用户名 select Host, User from user; #配置 root 用户 远程可访问 update user set Host='%' where User='root'; #强制刷新权限 flush privileges; #现在MySQL就可以远程连接了
11、下面在配置 MySQL 的字符集,防止中文乱码
#先来看,MySQL默认字符集,如果不是 utf-8 那就需要进行配置 show variables like "%char%";
12、主要是修改 my.cnf
文件, 该文件存在于 /etc
文件下。使用下面命令将 my.cnf
文件拷贝到 /usr/mysql/conf
下
cp /etc/my.cnf /usr/local/mysql/conf
13、编辑 my.cnf 文件
vim /usr/local/mysql/conf/my.cnf
13、粘贴内容
[client] default-character-set=utf8 [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake [mysql] default-character-set = utf8
13、退出MySQL容器,重启MySQL
退出MySQL:exit; 退出MySQL容器:exit; 重启MySQL:docker restart 容器ID或者容器名
嘻嘻,配置到这里一台新的 Linux 服务器开发环境搭建就算是大功告成了,太不容易了😭😭😭,这一套下来(暗示三连!!!)。
如果在配置过程中,有任何的不懂,或这不明白的地方可以加我联系方式👇👇👇或者文章留言,本人看到一定立马回复并解答。
本人 Linux 环境搭建完毕,服务器情况(2核4G,yyds)
好了,今天的内容到这里就结束了,关注我,我们下期见