阿里云服务器部署文档(jdk+ nginx + node + git + maven + tomcat + jenkins + mysql + redis等)
阿里云服务器部署文档(jdk+ nginx + node + git + maven + tomcat + jenkins + mysql + redis等)
- 1阿里云服务器网址上开放22端口,443端口和80端口,80端口用来nginx域名映射。
- 2用命令行工具登录上服务器后,首先开启防火墙,并开放需要的端口。
如果没有开启用这个命令:systemctl start firewalld
- 3查看系统版本,对随后安装需要的版本有所了解
- 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就安装好啦。
- 安装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安装完毕。
- 5安装git
命令行输入git --version
如果没有这样的提示: git version ***
命令行输入:yum install git
命令行输入git --version
提示如图表示安装成功:
- 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
- 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——>系统管理——>管理用户中进行修改密码、增加/删除用户等操作。
- 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
- 安装 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 &
- 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;
}
}
}
更多推荐
所有评论(0)