1. 1阿里云服务器网址上开放22端口,443端口和80端口,80端口用来nginx域名映射。

  1. 2用命令行工具登录上服务器后,首先开启防火墙,并开放需要的端口。

如果没有开启用这个命令:systemctl start firewalld

  1. 3查看系统版本,对随后安装需要的版本有所了解

  1. 4安装jdk

一、下载JDK

jdk-11.0.18_linux-x64_bin.tar(这个版本适用Jenkins)

二、检测linux上有没有默认安装JDK

安装之前我们要先查看linux上边有没有默认安装JDK,这里我们输入java -version 看是否安装的有JDK,

如果安装了JDK,我们要先把它卸载掉

在卸载之前,查看有关java的相关文件:输入

rpm -qa | grep java

可以看到有一些相关文件,输入命令进行删除

rpm -qa | grep java |xargs rpm -e --nodeps

现在有关JDK的有关文件就删除了,现在我们在查看以下是否还有JDK,输入:

java -version

如果没东西了就说明卸载成功了

现在我们进行安装JDK

在安装之前,我们现在/usr下建一个名为的java文件夹,输入:

mkdir /usr/java

建好之后,输入cd /usr进入usr目录

cd  /usr

之后再输入ls 查看该目录下的内容,我们就可以看到我们刚创建的java文件了

三、开始安装JDK

下载好JDK之后,要将JDK上传到linux虚拟机上,我这里用的是WinScp连接的虚拟机,也可以用其他的,只要能将JDK上传到虚拟机上即可

打开winscp,安如下方式输入自己的ip,以root的身份连接,输好之后点击Login,进行连接

连接好之后会出现如下提示,点击yes即可

在左边windows下找到jdk下载储存的位置,在在右边找到需要存放jdk的位置,将jdk的压缩包直接拖到右边即可。这里将压缩包存放在虚拟机的/usr/java/路径下

压缩包上传好之后打开Linux虚拟机,进入刚才jdk压缩包存放的位置

我这里是存放在/usr/java/路径下,然后cd /usr/java

进入jdk存放的路径之后,输入ll,即可看到多了一个压缩包 jdk-11.0.18_linux-x64_bin.tar

现在讲压缩包进行解压,输入命令:

tar -xvf jdk-11.0.18_linux-x64_bin.tar   

如果安装的jdk和我安装的版本不一样,输入命令 tar -xvf jdk压缩包的名称

压缩好之后输入命令:

vi /etc/profile  

在文件的最后添加如下内容:

export JAVA_HOME=/usr/java/jdk-11.0.18

export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/    

export PATH=$PATH:$JAVA_HOME/bin   

export JAVA_HOME=/usr/java/jdk-11.0.18 这一句, 这里/usr/java/jdk-11.0.18是我jdk的路径,如果存放的路径和我的不一致的,改为自己jdk存放的位置即可,另外两句直接复制上边代码即可

输入好之后保存退出

输入source /etc/profile 用于执行刚修改的文件,使之立即生效,而不用从新启动

输入 java -version,如果显示有当前安装的jdk版本,jdk就安装好啦。

  1. 安装node.js

  安装node

通过node安装包下载解压后运行到服务器环境

wget https://nodejs.org/dist/v16.20.1/node-v16.20.1-linux-x64.tar.xz // 下载安装包

tar xvf node-v16.20.1-linux-x64.tar.xz // 解压安装包

// 创建node和npm链接

ln -s /root/node-v16.20.1-linux-x64/bin/node /usr/local/bin/node

ln -s /root/node-v16.20.1-linux-x64/bin/npm /usr/local/bin/npm

// 查看安装情况

node -v

npm -v

安装node版本管理

安装git

yum install -y git

在当前文件夹下创建一个nvm文件夹并下载当前资源,使用国内gitee的nvm源会更快

git clone https://github.com/nvm-sh/nvm/releases/tag/v0.39.2 nvm // 克隆nvm(外网下载可能会失败)

git clone https://gitee.com/Annlix/nvm-sh_nvm.git nvm // 国内gitee源

git克隆以外的下载安装方式,此方法没有创建文件夹,需要注意下载路径

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

配置nvm到环境变量

echo "source ~/nvm/nvm.sh" >> ~/.bashrc

检查nvm运行和安装情况

cd nvm // 进入文件夹

ls -a  // 可以看到nvm.sh文件

bash nvm.sh // 查看脚本运行情况

nvm -v // 查看版本, 检查安装情况

nvm -ls // 查询可用版本

nvm install 版本号 // 下载需要的版本

nvm use 版本号 // 使用指定的已下载版本

node安装完毕。

  1. 5安装git

   命令行输入git --version

   如果没有这样的提示: git version  ***

命令行输入:yum install git

命令行输入git --version    

提示如图表示安装成功:

  1. 6安装maven

linux下安装maven

第一步:下载maven

apache-maven-3.8.8-bin.tar.gz

第二步:上次服务器,解压安装

我将maven的安装包传到了,自己新建的/root/soft/maven目录下

将安装包解压

tar -zxvf apache-maven-3.8.6-bin.tar.gz

第三步:配置环境变量

用vim编辑 /etc/profile文件 ,按i进行变量

vim /etc/profile

加入如下配置

export M2_HOME=/root/soft/maven/apache-maven-3.8.8

export PATH=P A T H : PATH:PATH:M2_HOME/bin

添加完后按:wq保存并退出

输入如下命令让/profile生效

source /etc/profile

第四步:检查是否安装成功

用如下命令查询是否安装成功

mvn -version

  1. 7安装tomcat + jenkins

一、安装Tomcat

下载tomcat安装包

wget https://archove.apache.org/dist/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz

解压 到/usr/local下改名为tomcat

 tar -zxvf apache-tomcat-8.0.50.tar.gz 

修改配置文件,在/etc/profile

export CATALINA_BASE=/usr/local/tomcat

export PATH=$CATALINA_BASE/bin:$PATH

进入/bin目录,启动tomcat

sh startup.sh #启动命令

tomcat默认端口是8080

二、搭建Jenkins

环境准备:jdk、maven、tomcat、git。这些都自行安装好。tomcat上面已经安装好了,接下来安装jenkins。

下载jenkins,下载地址:https://jenkins.io/download/

wget--no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.332.4/jenkins.war

将下载好的 jenkins.war 移动到tomcat的webapps文件夹下

mv jenkins.war /usr/local/tomcat/webapps

重启tomcat,进入/bin目录

sh shutdown.sh

sh startup.sh

这时,/webapps文件夹中就会生成一个jenkins文件夹就可以了

之后再点击安装推荐的插件就可以了

就可以进入首页了。

登录完成后,可在Jenkins——>系统管理——>管理用户中进行修改密码、增加/删除用户等操作。

  1. 8安装 mysql

1、具体步骤

卸载mariadb

linux系统会自动携带一个数据库,我们需要把它给卸载掉

通过以下代码可以查看mariadb

rpm -qa | grep mariadb

卸载mariadb

yum remove mariadb-libs-5.5.52-1.el7.x86_64 -y

再次查看是否卸载成功

rpm -qa | grep mariadb

2.2、上传mysql并解压

创建mysql目录到/usr/local目录下

mkdir mysql

上传安装包到/usr/local/mysql中,进行解压

tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

2.3、安装mysql

注意:按照依赖关系依次安装rpm包 依赖关系依次为common→libs→client→server

按照顺序依次输入下列命令

rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm

yum install -y net-tools

rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

2.4、查看版本

mysql --version

mysql  Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using  EditLine wrapper,如果出现该提示,则证明mysql已经安装成功了。

2.5、启动mysql服务

== 每次开机都要手动启动mysql ==

systemctl start mysqld

== 开机时自动开启mysql ==

systemctl enable mysqld

== 停止mysql服务器==

service mysqld stop

==启动mysql服务器==

service mysqld start

== 查看mysql是否启动==

service mysqld status

2.6、登录mysql

mysql -uroot -proot

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

提示错误,是因为第一次登录mysql需要使用mysql的临时密码,该密码存放在mysql日志文件中。

在 /var/log/mysqld.log 文件中

cd  /var/log

查询临时密码

grep -n password mysqld.log

 [Note] A temporary password is generated for root@localhost: 0x(g<n074&7W                                                                                

0x(g<n074&7W 就是mysql自动生成的临时密码

重新登录mysql,隐式登录

mysql -uroot -p

把临时密码粘贴

如果出现 mysql>则登录成功

2.7、修改密码

mysql> set global validate_password_policy=LOW;

mysql> set global validate_password_length=4;

mysql> alter user 'root'@'localhost' identified by '你自己得mysql密码';

2.8、配置mysql远程访问

此时,虽然防火墙是关着的,但root用户只能用于本机访问,不能用于远程访问,否则会报错误。

如果navicat想远程连接,是无法连接的

因此,接下来要做的是授予root用户远程访问权限

mysql> update mysql.user set host='%' where user='root';

mysql> flush privileges;

输入完以上命令后就可以使用连接工具连接到该linux的mysql了。

2.9、修改编码

为了防止以后出现乱码问题,我们需要把mysql的编码修改为utf8

[root@localhost mysql]# vim /etc/my.cnf

== 修改编码后重新启动mysql服务器 ==

service mysqld restart

  1. 安装 redis

yum install wget -y

cd /usr/local/

wget https://download.redis.io/releases/redis-5.0.5.tar.gz

tar -zxvf redis-5.0.5.tar.gz

yum install gcc -y

yum install gcc-c++ -y

cd redis-5.0.5/

make

make install

cd /usr/local/redis-5.0.5/

vim redis.conf

修改 daemonize no 为daemonize yes

修改 protected-mode yes 为 protected-mode no(禁用保护模式)

修改requirepass ******* (添加密码,这个务必要做非常重要!!!

启动redis

./redis-server ../redis.conf &

  1. 9安装 nginx

一、安装nginx依赖

#安装gcc

yum install gcc-c++

#安装PCRE pcre-devel

yum install -y pcre pcre-devel

#安装zlib

yum install -y zlib zlib-devel

#安装Open SSL

yum install -y openssl openssl-devel

二、下载并解压nginx安装包

1.下载nginx安装包

wget http://nginx.org/download/nginx-1.23.0.tar.gz

你也可以到网站选择你所需要的版本

下载完成后将压缩包通过ssh命令使用winscp工具或其他工具上传至服务器

2.解压nginx安装包

#创建一个文件夹

cd /usr/local

mkdir nginx

cd nginx

#解压缩包,直接tar -xvf nginx安装包所在路径

tar -xvf nginx-1.16.1.tar.gz

三、安装nginx

#进入nginx目录

cd /usr/local/nginx

#进入目录

cd nginx-1.16.1

#编译 执行命令 考虑到后续安装ssl证书 添加两个模块  如不需要直接执行./configure即可

./configure --with-http_stub_status_module --with-http_ssl_module

#执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)

make

#执行make install命令

make install

补充查看编译参数

# 查看编译参数

./configure --help | more

四、启动nginx

cd /usr/local/nginx/sbin

# 默认配置文件启动

./nginx

# 指定配置文件启动

./nginx -c  /usr/local/nginx/conf/nginx.conf

五、停止重启nginx

cd /usr/local/nginx/sbin

# 停止指令

./nginx -s stop

# 或

./nginx -s quit

# 重启命令

./nginx -s reload

# 查看nginx进程

ps -ef|grep nginx

六、设置开机自启动nginx

#编辑

vim /etc/rc.local

#最底部增加这一行

/usr/local/nginx/sbin/nginx

nginx 要配置证书和跳转路由如下可做参考:在这个nginx.conf文件里面:

user root;

#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;

    #keepalive_timeout  0;

    keepalive_timeout  65;

    #gzip  on;

    server {

        listen       80;

        server_name  xxxx.yyyy.com;

        return 301 https://$server_name$request_uri;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        #location / {

        #    root   html;

        #    index  index.html index.htm;

        #}

        #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   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;

        #}

    }

    # another virtual host using mix of IP-, name-, and port-based configuration

    #

    #server {

    #    listen       8000;

    #    listen       somename:8080;

    #    server_name  somename  alias  another.alias;

    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}

    # HTTPS server

    #

    server {

        listen       443 ssl;

        server_name  xxxx.yyyy.com;

        ssl_certificate      xxxx.yyyy.com.pem;

        ssl_certificate_key  xxxx.yyyy.com.key;

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;

        ssl_prefer_server_ciphers  on;

        location / {

            root   /root/.jenkins/workspace/xxxx-ui/dist;

            index  index.html index.htm;

            try_files $uri $uri/ /index.html;

        }

        location /jenkins/ {

            proxy_pass http://127.0.0.1:8080/jenkins/;

            proxy_set_header Host $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_set_header X-Forwarded-Proto $scheme;

        }

        location /test-api/ {

            proxy_pass http://127.0.0.1:18888/;

            proxy_set_header Host $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_set_header X-Forwarded-Proto $scheme;

        }

        location ~ ^/files/.*.(php|php5)$ {

            allow all;

        }

    }

}

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐