拿到新linux服务器,从配置环境到跑起项目的部署流程
今早翻开手机看到某云一条广告Linux1 核 2 GB 1 Mbps服务器10元一个月,正巧最近在搞linux,于是下单了一台2个月20。
上班来到公司后,借空闲时间一顿研究,一波骚操作配置后,浏览器打开ip地址正常,看到了熟悉的tomcat9页面。
然后又是一波骚操作,把自己的之前写的spring boot + jpa + bootstrap + thymeleaf 简单的增删改查Demo项目部署了上去,打开ip也正常显示。
所以在此记录下,当拿到一台全新的linux服务器后该如何配置(操作步骤借鉴公司内部的环境部署文档)
一、配置网络设置
有的linux拿到后不能访问网络所以要配置下网络设置
vi /etc/resolv.conf
1.添加 一行 nameserver 114.114.114.114
2.重启网络:service network restart
接下来我的配置流程是:mysql、java、tomcat、发布项目
二、配置mysql
mysql配置:
安装mysql
yum –y install mysql
在这里安装后可能会出现一个错误,解决如下:
yum install的时候提示:Loaded plugins: fastestmirror
fastestmirror是yum的一个加速插件,这里是插件提示信息是插件不能用了。不能用就先别用呗,禁用掉,先yum了再说。
1.修改插件的配置文件
vi /etc/yum/pluginconf.d/fastestmirror.conf
enabled = 1//由1改为0,禁用该插件
2.修改yum的配置文件
vi /etc/yum.conf
plugins=1//改为0,不使用插件
安装mariadb(mysql的分支):yum -y install mariadb-server
装库成功后启动数据库: systemctl start mariadb
检查数据库状态: systemctl status mariadb
确保是开启状态后进入数据库:mysql
为root账号设置密码,同时刷新权限,如密码是‘root’:
use mysql;
update user set Password=PASSWORD("root") where User='root';
flush privileges;
增加一个用户。在项目中用它,创建用户名‘xxx’,密码‘123456a?’的用户
create user 'xxx'@'%' identified by '123456a?';
给他赋予所有的权限
GRANT ALL PRIVILEGES ON *.* TO 'xxx'@'%' IDENTIFIED BY '123456a?';
刷新权限
flush privileges;
退出数据库,重新使用wjup和root账号登录,验证是否能登陆成功
容易出现的问题:ERROR 1045 (28000): Access denied for user 'tester'@'localhost' (using password: YES)
解决方式a:用户密码是否正确,修改密码
1.修改MySQL的登录设置:
vim /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
2.重新启动mysql
// service mysql restart
systemctl restart mariadb
3.登录并修改MySQL的root密码
mysql> use mysql;
Database changed
mysql> update user set password = password ('new-password') where user = 'root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 5 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
4.将MySQL的登录设置修改回来
vim /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables注释
保存并且退出vim
5.重新启动mysql
//service mysql restart
systemctl restart mariadb
解决方式b:数据库中存在匿名用户,删除匿名用户即可
Delete FROM user Where User='';
flush privileges;
到这里如果需要远程连接,可以开放3306端口
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT;
然后可以远程用navicat或者啥连接试试了
三、配置JDK
我把jdk放在了/usr/java下
1.创建文件夹:mkdir /usr/java
2.用ftp工具上传下载好的jdk-8u211-linux-x64.rpm(ORACLE官方下载地址)
执行安装命令:rpm -ivh jdk-8u211-linux-x64.rpm
如果提示缺少执行权限执行权限命令:chmod +x jdk-8u211-linux-x64.rpm
查看java的版本信息:java -version
配置环境变量:vim ~/.bash_profile
末尾追加
export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
加载刚设置的变量:source /etc/profile
四、配置tomcat
tomcat同样我也放在了/usr/tomcat
同样先创建文件夹:mkdir/tomcat
用ftp工具上传进去,然后解压:tar -xzvf apache-tomcat-9.0.20.tar.gz(tomcat官方下载地址)
解压后编辑tomcat的配置文件,修改默认的8080端口改为80
vi usr/tomcat/apache-tomcat-9.0.20/conf/server.xml
然后退出,保存(esc、:wq),接着去tomcat的bin目录启动tomcat就可以了
sh apache-tomcat-9.0.20/bin/startup.sh
可以到tomcat的logs下查看catalina.out
tail -f apache-tomcat-9.0.20/logs/catalina.out
成功后放开80端口
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
没问题的话然后在浏览器就可以看到tomcat9的默认页面了
五、发布项目
将项目配置好数据库连接信息和端口后打成war包,然后上传到tomcat的webapp目录下
先停止tomcat(sh shutdown.sh),再次启动即可(sh startup.sh )
等待启动成功后就可以在浏览器查看项目了(http://ip/war包名)
想访问地址不加war包名就可以可看到项目,可以把webapp下自动解压的war包文件夹里的内容替换到ROOT文件夹下即可
拿到新linux服务器,从配置环境到跑起项目的部署流程的更多相关文章
- [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- 本地Linux服务器上配置Git
当我们需要拉取远程服务器代码到本地服务器时,我们首先要确定已经配置了正确的Git账号,可以从~/.gitconfig文件(为隐藏文件,需要使用ls -a查看),以及~/.ssh下的id_rsa.pub ...
- [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- linux服务器上配置多个svn仓库
linux服务器上配置多个svn仓库 1.在指定目录建立仓库保存总目录,本文示例目录设定为:/usr/local/svn/svnrepos # mkdir -p /usr/local/svn/svnr ...
- 在Linux服务器上配置phpMyAdmin
使用php和mysql开发网站的话,phpmyadmin是一个非常友好的mysql管理工具,并且免费开源,国内很多虚拟主机都自带这样的管理工具,配置很简单,接下来在linux服务器上配置phpmyad ...
- Linux服务器时间同步配置
Linux服务器时间同步配置 以CentOS7 做时间服务器,其他服务器(Centos 6.RHEL7)同步该服务器时间 RHEL 7.CentOS 7 默认的网络时间协议 为Chrony 本教程 ...
- Linux服务器下配置Java环境、JDK
前言 可以解决问题有/etc/profile与~/.bashrc环境文件区别 文件权限问题,只读readonly Java环境搭建 一.下载JDK包 地址:jdk1.8提取码:gx0b 把文件放到Li ...
- Linux系统下配置环境变量
一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...
- 结合jenkins在Linux服务器搭建测试环境
何时使用: 测试过程中我们需要持续构建一个软件项目,为避免重复的手动下载.解压操作,我们需要搭建一个能够自动构建的测试环境,当代码有更新时,测试人员只需点一下[构建]即可拉取最新的代码进行测试(也可设 ...
随机推荐
- maven学习(三)-使用maven来创建项目
转自https://www.cnblogs.com/xdp-gacl/p/4240930.html maven作为一个高度自动化构建工具,本身提供了构建项目的功能,下面就来体验一下使用maven构建项 ...
- 好文推荐:终于有人把Elasticsearch原理讲透了
专注于Java领域优质技术,欢迎关注 作者:channingbreeze 转自公号:互联网侦察 小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了. ...
- django数据库读写分离
django数据库读写分离 1. 配置数据库 settings.py文件中 用SQLite: DATABASES = { 'default': { 'ENGINE': 'django.db.backe ...
- 每天一点点之数据结构与算法 - 应用 - 分别用链表和数组实现LRU缓冲淘汰策略
一.基本概念: 1.什么是缓存? 缓存是一种提高数据读取性能的技术,在硬件设计.软件开发中都有着非广泛的应用,比如常见的CPU缓存.数据库缓存.浏览器缓存等等. 2.为什么使用缓存?即缓存的特点缓 ...
- Tensorflow学习教程------参数保存和提取重利用
#coding:utf-8 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mni ...
- python类(2)
#从python开始学习编程 学习笔记 以后看书时注意一下书上表述:好像是类属性attribute,对象特性property,对象方法 1.对于一个类下的全部个体来说,某些属性可能存在个体差异.不是所 ...
- 从 relu 的多种实现来看 torch.nn 与 torch.nn.functional 的区别与联系
从 relu 的多种实现来看 torch.nn 与 torch.nn.functional 的区别与联系 relu多种实现之间的关系 relu 函数在 pytorch 中总共有 3 次出现: torc ...
- handler method 参数绑定常用注解
handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类: A.处理requet uri 部分(这里指uri template中variable,不含q ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 复制表
如果需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的. 如何完整的复制MySQL数据表,步骤如下: 使用 ...
- puts函数出现warning: passing argument 1 of ‘puts’ from incompatible pointer type(警告:从不兼容的指针类型传递“puts”的参数1)
代码: /************************************************************************* > File Name: ptr_v ...