小小的自我介绍一下,计算机研二在读。读研的时候,做过一些前端的工作,用的是vue+vant。后来自学了一些Java。再后来忙于学校的一些工作,论文啊,专利啊之类的东西。最近才有空做一些自己的东西,一直想做一个个站,那第一步肯定是先买个服务器。想都不带想的啊,直奔阿里云,然后看到了“飞天加速计划”,这多香啊,拿下,拿下。感谢阿里云,服务器真的好贵啊~~
好了,自我介绍结束。下面是我总结的的linux基础环境的搭建。有问题多谢大家指正。
一、Linux
JAVA_HOME=/usr/java/jdk1.8.0_331-amd64CLASSPATH=%JAVA_HOME%\lib;%JAVA_HOME%/jre/libPATH=$JAVA_HOME/bin;$JAVA_HOME/jre/binexport PATH CLASSPATH JAVA_HOME
二、tomcat配置
安装包路径:F:\GoogleDown\apache-tomcat-9.0.64.tar.gz(个人的)
1.xftp传递安装包
2.安装
tar -xf apache-tomcat-8.0.30.tar.gz
mv apache-tomcat-8.0.30 /usr/local/tomcat
ls /usr/local/tomcat
解压即可
3.开启服务
cd /usr/local/tomcat/bin/
./startup.sh
4.关闭服务
cd/usr/local/tomcat/bin/
./shutdown.sh
5.测试
http://ip:8080
三、mysql配置
1.下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
2.创建文件夹
mkdir /usr/local/mysql
tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql
3.创建一个mysql用户和组
groupadd mysql
useradd -r -g mysql mysql
4.创建数据目录并赋予权限
#创建目录
mkdir -p /data/mysql
#赋予权限
chown mysql:mysql -R /data/mysql
5.配置my.cnf
vim /etc/my.cnf
配置内容:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
max_connections=10000
max_user_connections=2000 #最大连接数
wait_timeout=200
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
lower_case_table_names=1 #忽略大小写
6.初始化数据库
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
报错解决:
yum install libaio-devel.x86_64
6.启动mysql
先将mysql.server放置到/etc/init.d/mysql中:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#启动
service mysql start
# 停止
service mysql stop
# 重启
service mysql restart
ps -ef|grep mysql #查看端口号
7.修改密码
查看密码
cat /data/mysql/mysql.err(最好在启动前就查看)
修改密码
cd /usr/local/mysql/bin/
./mysql -u root -p
##则进去mysql 使用sql语法##
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
8.开启远程
# 登录mysql
./mysql -u root -p
#输入新密码
123456
#访问mysql库
use mysql
#使root能再任何host访问
update user set host = '%' where user = 'root';
#刷新
FLUSH PRIVILEGES;
#退出
exit
四、开启防火墙(设置mysql开机自启)
1.查看防火墙状态
systemctl status firewalld
2.查看所有开启的端口
firewall-cmd --list-ports
3.手动开启端口
firewall-cmd --zone=public --add-port=9100/tcp --permanent
4.重启防火墙(开启端口号,记得重启防火墙,且防火墙开启后 tomcat 和 nginx的端口也一定要开放!!!)
firewall-cmd --reload
10.设置mysql开机自动重启
有些讲解可能需要复制移动文件,但是我们上面已经移动过了,所以不用输入以下这个命令
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
如果输入时,说已存在mysql,是否要覆盖时,说明之前已经移动过,可以选择不移动
# 需要给赋予权限
chmod +x /etc/init.d/mysql
# 添加为服务:
chkconfig --add mysql
#查看服务列表:
chkconfig --list
看到服务状态为开或者为 on 则表示成功。 如果是 关或者 off 则执行一下:
chkconfig --level 345 mysqld on
五、nginx配置
1.安装依赖包
//一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2.下载并解压nginx安装包
//创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
//下载tar包
wget nginx下载url
tar -xvf nginx-1.13.7.tar.gz
3.安装nginx
//进入nginx目录
cd /usr/local/nginx
//进入目录
cd nginx-1.13.7
//执行命令 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
//执行make命令
make
//执行make install命令
make install
4.启动nginx
cd /usr/local/nginx/sbin
./nginx
5.配置nginx
vim /usr/local/nginx/conf/nginx.conf
其中:
if (!-e $request_filename) {
rewrite ^(.*)$ /index.html?s=$1 last;
break;
}
是为了解决,vue路由在hash模式下,刷新404的问题。
6.nginx常见命令
命令 | |
./nginx | 开启nginx |
./nginx -s reolad | 重启nginx(修改配置文件需重启) |
./nginx -s stop | 停止nginx |
./nginx -t | 检查配置文件 |
./nginx -s quit | 安全退出nginx |
ps aux|grep nginx | 查看nginx进程 |
六、jar运行
1.项目package
2.执行jar包
命令 | |
java -jar XXX.jar | 这是最基本的jar包执行方式,但是当我们用ctrl+c中断或者关闭窗口时,程序也会中断执行。 |
java -jar XXX.jar & | &代表在后台运行,使用ctrl+c不会中断程序的运行,但是关闭窗口会中断程序的运行。 |
nohup java -jar XXX.jar & | 用这种方式运行的程序日志会输出到当前目录下的nohup.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行 |
nohup java -jar quickly-0.0.1-SNAPSHOT.jar>/root/qulickly.log 2>&1 | 后台运行 并指定日志文件 |
3.停止jar包
1.根据端口号获取进程编号PID,根据PID杀死进程
netstat -lnp|grep 端口号
kill -9 PID
2.知道jar包名称,停止进程
#根据jar包名称获取进程编号PID
ps aux|grep jar包名称
#根据PID杀死进程
kill -9 PID
最后,希望自己有空可以完善自己的个站,不说了,撸代码去了。掰掰~~~~