最近在腾讯云买了一台基础配置的云服务器,打算用来练练手,把心心念念的个人博客和个人主页给它整上去耍耍,个人主页是基于spring boot的后端,博客用的是身边小伙伴们都比较流行的solo,话不多说,让我们马上开始吧!
注:本教程适用于有基础linux命令应用的人,它可以为你带来:
命令: ssh username@ip
然后输入服务器登录密码进行登录
更换yum源为国内阿里源:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
命令: scp /path/filename username@servername:/path
然后输入密码一路yes即可.
命令: tar -zxvf jdk-8u201-linux-x64.tar.gz(版本看自己的来)
mv jdk1.8.0_201 /usr/local/(注意空格)
vim /etc/profile
,没有vim的可以通过yum install vim
进行安装 export JAVA_HOME=/usr/local/jdk1.8.0_201/
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
重新加载配置文件,最后输入java -version得到jdk版本说明安装成功. https://mirrors.cnnic.cn/apache/tomcat/
wget https://mirrors.cnnic.cn/apache/tomcat/tomcat-9/v9.0.17/bin/apache-tomcat-9.0.17.tar.gz(版本看自己)
命令: tar xvf apache-tomcat-9.0.17.tar.gz
mv apache-tomcat-9.0.17 tomcat
/usr/local/tomcat/bin/startup.sh
firewall-cmd --zone=public --add-port=8080/tcp --permanent
--zone #作用域
--add-port=8080/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数设置,重启后会失效。
firewall-cmd --reload
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm(注意当前路径)
yum localinstall mysql57-community-release-el7-8.noarch.rpm
yum repolist enabled | grep "mysql.-community."
yum install mysql-community-server
systemctl start mysqld
systemctl start mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
Active: active (running) since 五 2016-06-24 04:37:37 CST; 35min ago
Main PID: 2888 (mysqld)
CGroup: /system.slice/mysqld.service
└─2888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
6月 24 04:37:36 localhost.localdomain systemd[1]: Starting MySQL Server...
6月 24 04:37:37 localhost.localdomain systemd[1]: Started MySQL Server.
systemctl enable mysqld
systemctl daemon-reload
grep 'temporary password' /var/log/mysqld.log(获取生成的密码)
mysql -uroot -p(当提示输入密码时输入上一句命令给出的密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误
在/etc/my.cnf
文件添加validate_password_policy
配置,指定密码策略
选择0(LOW)
,1(MEDIUM)
,2(STRONG)
其中一种,选择2需要提供密码字典文件
validate_password_policy=0
如果不需要密码策略,添加my.cnf
文件中添加如下配置禁用即可:
validate_password = off
重新启动mysql服务使配置生效:
systemctl restart mysqld
修改/etc/my.cnf
配置文件,在[mysqld]
下添加编码配置,如下所示:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
重新启动mysql服务
1.配置防火墙:
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
2.设置安全组:
云服务器开放端口都需要经过代理商的web,所以我们需要对端口进行入站规则的自定义,以腾讯云为例:
我这里是已经创建好了,如果一开始的话这个框中是空的,点击新建:
确定即可.
3.修改mysql库里的host
3.1登录mysql后选择mysql的数据库:
use mysql
update user set host='%' where user='root' and host='localhost';
记得一定还得修改密码,因为这时密码已失效,虽然本地还可以原密码登录,可远程改了host后还是没法访问
update user set authentication_string=password('root') where user='root' ; //新版本password字段被更改为authentication_string,如果出现字段找不到的错误则换为password即可
flush privileges; //刷新权限
3.2.重启mysql,远程就可以访问了
service mysqld restart;
这里只用了内嵌tomcat,以jar的形式打包,其他方式参考:
idea下打包SpringBoot项目并部署到Linux服务器
注意如果你的项目一开始是在window下开发的,对应的配置文件和服务路径都需要对接到你的服务器目录上,这里因人而异,一定要注意,否则一直打包也挺麻烦的.我用了一下redis,参考:*
阿里云centos 7上面安装redis并开启后台自动运行* ,进行redis的后台运行.
首先点击右侧的maven project
(也有的是maven
),右击Lifecycle下的clean,运行 Run maven build,清除之前生成的target目录便于重新生成,然后再右击package选择Run maven build进行打包,最终在项目的根目录下的target目录下得到打包好的jar包.
通过scap命令或者xftp工具上传到服务器后,跳转到项目所在的目录下,使用:
java -jar xxx.jar
进行测试:
启动后访问对应端口测试即可,注意默认端口时8080
,如果有其他项目,如solo等.注意端口占用,这种情况应在配置中修改端口号.
后台运行:
nohup java -jar xxx.jar >/dev/null 2>&1 &
一. gcc 安装:
yum install gcc-c++
二. PCRE pcre-devel 安装:
yum install -y pcre pcre-devel
如果不行则使用wget安装
cd /usr/local/
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz
tar -zxvf pcre-8.33.tar.gz
cd pcre-8.36
./configure
make && make install
三. zlib 安装:
yum install -y zlib zlib-devel
如果不行则使用wget安装:
cd /usr/local/
tar -zxvf zlib-1.2.11.tar.gz
./configure
make && make install
四. OpenSSL 安装:
yum install -y openssl openssl-devel
如果不行则使用wget安装:
cd /usr/local/
tar -zxvf openssl-1.0.2r.tar.gz
cd openssl-1.0.2r
./config
make && make install
五.下载nginx,注意当前路径:
六.解压并进入目录中使用默认配置:
tar -zxvf nginx-1.15.11.tar.gz
cd nginx-1.15.11
./configure //使用默认配置
make && make install
cd /usr/local/nginx/sbin/ //以你的路径为准,使用wheris nginx查询
./nginx //启动nginx
./nginx -s stop //此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。(下面这两个选择一个运行停止服务)
./nginx -s quit //此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s reload //重新加载配置文件(服务运行中执行这条命令)
ps aux|grep nginx //查询nginx进程:
设置开机自启动:
vi /etc/rc.local
增加一行:
/usr/local/nginx/sbin/nginx
设置权限:
chmod 755 /etc/rc.local
安装nginx完成!
配置nginx:
Nginx配置文件地址
/usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name japoul.com; //你的域名
#charset koi8-r;
#access_log logs/host.access.log main;
access_log off;
location / {
proxy_pass http://localhost:8080/; //代理地址
client_max_body_size 128m;
}
}
(方法一使用自带Jetty容器部署)
下载 solo-v3.5.0.war
,解压并上传至服务器目录/root/solo
linux下使用下列命令下载(v3.5):
wget https://github.com/b3log/solo/releases/download/v3.5.0/solo-v3.5.0.war
网速不好也可以直接在服务器上直接下载,注意路径在/root/solo
下,然后解压:
jar xvf solo-v3.5.0.war
配置文件latke.properties
(注意:配置项后面不要带空格,否则会报配置错误)
vim /root/solo/WEB-INF/classes/latke.properties
####Server####
#Browser visit protocol
serverScheme=http
#Browser visit domain name
serverHost= 你的域名/ip
#Browser visit port, 80 as usual, THIS IS NOT SERVER LISTEN PORT!
serverPort=
配置文件local.properties
,启用MySQL,注释H2
####H2 runtime####
#runtimeDatabase=H2
#jdbc.username=root
#jdbc.password=
#jdbc.driver=org.h2.Driver
#jdbc.URL=jdbc:h2:~/solo_h2/db
####MySQL runtime####
runtimeDatabase=MYSQL
jdbc.username=root
jdbc.password=
jdbc.driver=com.mysql.jdbc.Driver
jdbc.URL=jdbc:mysql://localhost:3306/solo?useUnicode=yes&characterEncoding=utf8
切换到/root/solo
目录,执行
nohup java -cp WEB-INF/lib/*:WEB-INF/classes org.b3log.solo.Starter >/dev/null 2>&1 &
后台启动,到此solo搭建成功! 在浏览器中访问你的ip/域名即可进入啦。