服务器配置与操作
一、连接远程服务器
推荐用xshell 或者 finalshell 或者 winSCP 或者 FileZilla
xshell下载地址:https://xshell.en.softonic.com/
二、服务器配置
2.1 安装JDK
2.1 方法一:在线安装
yum list java*
yum -y install java-1.8.0-openjdk*
java -version
2.2 方法二:本地安装
一、下载JDK
- 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
二、解压
- 创建/usr/local/java/
mkdir /usr/local/java/
- 解压到/usr/local/java目录
tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local/java/
三、配置环境变量
# 编辑/etc/profile
vim /etc/profile
# 在文件末尾插入以下内容
JAVA_HOME=/usr/local/java/jdk1.8.0_181
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
# 让环境变量生效
source /etc/profile
2.2 安装插件
-- 更新yum源
yum -y update
-- 安装Git
yum -y install git
-- 安装传输插件
yum -y install vim
-- 安装目录结构树形展示插件
yum -y install tree
-- 安装下载插件
yum -y install wget
-- wget命令用来从指定的URL下载文件。
-- wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性。
-- 如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。
-- 如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。
-- 安装lsof插件(查看端口占用)
yum -y install lsof
-- 安装zip压缩插件
yum -y install unzip zip
-- 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩
zip -r myfile.zip ./*
-- 把myfile.zip文件解压到 /home/sunny/目录下
unzip -o -d /home/sunny myfile.zip
-o:不提示的情况下覆盖文件
-d:指明将文件解压缩到/home/sunny目录下
-- 删除压缩文件中smart.txt文件
zip -d myfile.zip smart.txt
-- 向压缩文件中myfile.zip中添加rpm_info.txt文件
zip -m myfile.zip ./rpm_info.txt
三、服务管理
3.1 运行程序
java -jar test.jar # 缺点:这种方式特点是ssh窗口关闭时,程序中止运行
nohup java -jar test.jar & # 后台运行程序
nohup java -jar test.jar &> test.log & # 后台运行程序并输出日志文件
3.2 服务管理
service 【服务名称】 【start|restart|stop|status】
例子: service docker start
systemctl 【command】 【unit】 (command为命令,unit为服务名)
例子: systemctl enable docker
command命令还有如下:
-- start:立刻启动后面接的 unit。
-- stop:立刻关闭后面接的 unit。
-- restart:立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思。
-- reload:不关闭 unit 的情况下,重新载入配置文件,让设置生效。
-- enable:设置下次开机时,后面接的 unit 会被启动。
-- disable:设置下次开机时,后面接的 unit 不会被启动。
-- status:目前后面接的这个 unit 的状态,会列出有没有正在执行、开机时是否启动等信息。
-- is-active:目前有没有正在运行中。
-- is-enable:开机时有没有默认要启用这个 unit。
-- kill :不要被 kill 这个名字吓着了,它其实是向运行 unit 的进程发送信号。
-- show:列出 unit 的配置。
-- mask:注销 unit,注销后你就无法启动这个 unit 了。
-- unmask:取消对 unit 的注销。
3.3 设置防火墙
-- 查看防火墙状态
-- service firewalld status
-- systemctl status firewalld
-- firewall-cmd --state
-- 开放单个端口:
-- firewall-cmd --zone=public --add-port=3306/tcp --permanent
-- firewall-cmd --reload
-- 关闭单个端口:
-- firewall-cmd --zone=public --remove-port=8080/tcp --permanent
-- firewall-cmd --reload
-- 查看开放端口:
-- firewall-cmd --zone=public --list-ports
-- 完全关闭防火墙
-- systemctl stop firewalld #关闭防火墙
-- systemctl disable firewalld #禁用防火墙(禁止随系统自动启动)
-- 开启防火墙
-- systemctl start firewalld #开启防火墙
-- systemctl enable firewalld #启用防火墙(随系统自动启动)
四、查看和关闭程序
4.1 Linux查询程序运行线程号
ps -ef # 查看所有进程
ps -ef|grep test.jar # 查看test.jar程序属于哪个进程
ps -ef|grep test|grep -v grep|grep -v kill|awk '{print $2}' # 模糊查看该程序属于哪个进程
netstat -nultp # 查看所有端口占用情况
netstat -nultp|grep 端口号 # 查看端口的占用情况
lsof -i:端口号 # 查看端口的占用情况(需要安装lsof插件)
4.2 Linux执行关闭操作
kill -QUIT 主进程号 # 从容停止进程
kill -TERM 主进程号 # 快速停止进程
kill -9 主进程号 # 强制停止进程
4.3 Windows查看端口占用情况
netstat -ano | findstr 端口号 # 查看端口占用情况
jps # 查看端口运行的程序名称
taskkill /PID 进程ID /F # 关闭进程
五、nginx
1.1 常用操作命令
nginx -s reload # 修改配置后重新加载生效
nginx -s reopen # 重新打开日志文件
nginx -t -c /path/to/nginx.conf # 测试nginx配置文件是否正确
nginx -s stop # 快速停止nginx
nginx -s quit # 完整有序的停止nginx
1.2 配置域名映射和https://请求协议
- 进行该步骤前需要进行网站备案
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name xtypgh.com;
#请填写证书文件的相对路径或绝对路径
ssl_certificate 1_xtypgh.com_bundle.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key 2_xtypgh.com.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
listen 80;
listen [::]:80;
server_name xtypgh.com;
location /zhangzhipeng {
root /data;
index index.html index.htm;
}
location /403 {
root /data;
index index.html index.htm;
}
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}