注意:云服务器不允许执行update操作
基本命令
stat #显示文件详情 显示的内容比ls 更加详细
who #查看当前在线用户
hostname #显示主机名称
uname #显示系统信息
top #查看系统消耗资源进程情况
ps #显示瞬间的进程状态
du #在目录下 显示磁盘使用情况
df #显示当前系统磁盘空间的使用情况
free #显示当前内存和交换空间的使用情况
netstat #显示网络状态信息
设置centos的时间
yum install ntp -y #安装ntp
timedatectl set-timezone Asia/Shanghai #设置时区
timedatectl set-ntp yes #启动自动同步时间
#或者
yum -y install utp ntpdate #装utpdate工具
ntpdate cn.pool.ntp.org #设置系统时间与网络时间同步
hwclock --systohc #将系统时间写入硬件时间
timedatectl set-timezone Asia/Shanghai # 设置系统时区为上海
系统命令
#Linux下查看系统上次启动时间命令
last reboot
who -b
uptime
top
uptime
cat /proc/uptime
# linux下查看最后登陆的用户的信息
last -a
-a 把从何处登入系统的主机名称或IP地址,显示在最后一行。
-d 将IP地址转换成主机名称。
-f <记录文件> 指定记录文件。
-n <显示列数>或-<显示列数> 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
centos系统
#备份系统自带yum源配置文件
打开阿里云镜像站[[https://developer.aliyun.com/mirror](https://developer.aliyun.com/mirror)],找到centos,点击右边的帮助,复制如下软件源代码:(centos自行复制对应版本)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#进入yum源配置文件所在的文件夹
cd /etc/yum.repos.d/
#下载源配置文件到上面那个文件夹内
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#或者
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
rm -rf /var/cache/yum/* | yum clean all #删除yum缓存
yum makecache #运行yum makecache生成缓存
yum -y update #跟新系统
yum -y install net-tools #安装网络工具
#查看8080端口占用的进程
lsof -i tcp:8080
netstat -ntlp | grep 8080
ps -el|grep java #查询java所占进程
#搜索替换功能
:1,5s/需要替换的内容/替换后的内容/g
:set nu #设置行号
修改主机名
hostnamectl set-hostname kexianjun #把主机名设置为kexianjun
用户、组权限
whoami #查看当前用户
who -u #查看登录用户who -m
su - user #切换用户的同时也跟换目录空间
su - #切换到root
groupadd admin#创建admin组
groupdel admin#删除admin组
useradd -d /home/dev-xiaoming dev-xiaoming -m #添加用户dev-xiaoming
userdel -r dev-xiaoming #删除用户dev-xiaoming
usermod -g admin kexianjun #修改kexianjun 用户到admin组
chown user:admin test #把test文件夹设置给user用户 改变拥有者
卸载系统自带java
java -version # 如果有结果出来,则说明自带了java
rpm -qa|grep java # 查询出已经安装的java
yum -y remove [上面查出来的东西,多个用空格分隔]
环境变量设置
#jdk环境变量配置
#1.系统环境变量
/etc/environment
#2.用户环境变量
vim /etc/profile
JAVA_HOME=/usr/local/jdk
JRE_HOME=/usr/local/jdk/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
#maven环境变量配置
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
#mysql环境变量
export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
#退出后重新加载配置文件:
source /etc/profile
linux免密登录
yum -y install openssh-clients
ssh-keygen #生成秘钥
ssh-copy-id 192.168.25.9 #把公钥复制到其他免密码登录的linux上 下次就不用输密码啦
虚拟机不能上网
1. 将系统下/etc/udev/rules.d 路径下的 70-persistent-net.rules 文件清空或删除
2. 将系统下/etc/sysconfig/network-scripts路径下ifcfg-eth0(eth0网上配置文件) 删除uuid和hwaddr地址 这两行直接删除
开放端口和防火墙
# 查看已经开放的端口:
firewall-cmd --list-ports
#开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --zone=public --add-port=8761/tcp --permanent #(--permanent永久生效,没有此参数重启后失效)
#重新载入
firewall-cmd --reload
#查看
firewall-cmd --zone=public --query-port=80/tcp
#删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --state #防火墙运行状态
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
设置服务器的外网ip地址
cd /etc/sysconfig/network-scripts/
ifcfg-eth0
UUID=
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
DEFROUTE=yes
IPV6INIT=yes
IPV4_FAILURE_FATAL=no
PEERDNS=yes
NAME=eth0
IPADDR=155.47.182.143
NETMASK=255.255.255.224
GATEWAY=155.47.182.33
DNS1=114.114.114.114
DNS2=223.5.5.5
ZONE=
#---------------------------------------------------
UUID=
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
DEFROUTE=yes
IPV6INIT=yes
IPV4_FAILURE_FATAL=no
PEERDNS=yes
NAME=eth0
IPADDR=155.47.182.143
NETMASK=255.255.255.224
GATEWAY=155.47.182.33
DNS1=114.114.114.114
DNS2=223.5.5.5
ZONE=public
mysql源码安装(AliSQL)
#卸载原有自带的Mysql
yum remove mysql-libs -y
#安装依赖
yum -y install gcc gcc-c++ ncurses-devel perl bison cmake autoconf
#添加用户和用户组
groupadd mysql
useradd -r -g mysql mysql
#创建安装目录
mkdir –p /usr/local/mysql
#创建数据保存目录
mkdir -p /data/mysqldb
#进入源码解压文件
cd AliSQL-master
#编译前检查
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1
#或者
cmake\
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1
#编译过程中会生成CMakeCache.txt文件,若编译未通过,需要删除该文件
rm CMakeCache.txt
#编译并且安装
make
make install
#修改目录权限
cd /usr/local/mysql
chown -R mysql:mysql .
#修改数据库目录权限
cd /data/mysqldb
chown -R mysql:mysql .
#初始化数据库
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
#若果报错:FATAL ERROR:please install the following Perl modules before executingscripts/mysql_install_db:Data::Dumper 安装autoconf库
yum install –y autoconf
#从源码目录中复制配置文件,如果有就覆盖
cp /usr/local/mysql/support-files/my-default.cnf /etc/mysql/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
#编辑配置文件
vim /etc/profile
#添加环境变量
export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
source /etc/profile
#启动服务,添加开机自启动
service mysqld start
chkconfig --level 35 mysqld on
#以DBA身份登录mysql
mysql -u root mysql
#设置root用户密码
UPDATE user SET Password=PASSWORD('123456') where USER='root';
#开放远程连接
grant all privileges on *.* to root@'%' identified by '123456';
flush privileges ;#刷新配置
#退出重启服务
quit
service mysqld restart
#root用户登录
mysql -uroot -p123456
#登录后执行任何语句报错:You must SET PASSWORD before executing this statement,重新设置密码
SET PASSWORD = PASSWORD('123456');set password = password('123456');
mysql主从配置
主服务器配置
#授权给从数据库服务器,创建连接用户和密码,刷新配置
GRANT REPLICATION SLAVE ON *.* to 'slave1'@'192.168.0.%' identified by 'slave123456';
FLUSH PRIVILEGES;
#编辑配置文件
vim /etc/mysql/my.cnf
[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id=1 #设置server-id
#忽略数据库
binlog-ignore-db = mysql
binlog-ignore-db = test
#查看主服务器状态
show master status;
File | Position |
---|---|
mysql-bin.000002 | 12460 |
配置从服务器
#编辑配置文件
vim /etc/mysql/my.cnf
[mysqld]
server-id=2 #设置server-id与主不能相同
#登录mysql
mysql -uroot -p123456
#MASTER_HOST是主服务器地址,USER、PAWWORD是主服务器创建的名字和密码
#LOG_FILE是主服务器显示的File LOG_POS是主服务器显示的Position
CHANGE MASTER TO
MASTER_HOST='192.168.0.106',
MASTER_USER='slave1',
MASTER_PASSWORD='slave123456',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=12460;
#启动,停止,重新设置从服务器
reset slave;start slave;stop slave;
#查看slave状态:
show slave status\G;
# Slave_IO_Running: Yes
# Slave_SQL_Running: Yes
#上面这两项显示yes,如果以后错误,需要
reset slave;
start slave;
oracle安装使用和修改字符集
docker run -d --restart unless-stopped --name oracle -p 1521:1521 sath89/oracle-xe-11g
docker logs -f oracle
docker exec -it oracle /bin/bash
port: 1521
sid: xe
username: system
password: oracle
#Navicat登录设置:工具-选项-其他-OCI 找到目录中instantclient里的oci.dll文件
sqlplus system/oracle --登录oracle
alter user sys identified by 123456;--修改密码123456
sqlplus system/123456
--查看字符集
select userenv('language') from dual; --只有AMERICAN_AMERICA.UTF8 这个才能显示中文,
connect sys/123456 as sysdba;
--进入sys用户,执行下列命令
shutdown immediate;
startup mount;
alter system enable restricted session;
alter system set job_queue_processes=0;
alter database open;
alter database character set internal_use utf8;
shutdown immediate;
startup;
--设置完成。
--客户端字符集设置
--配置环境变量 vim /etc/profile
--添加
export NLS_LANG=AMERICAN_AMERICA.UTF8
fastdfs
#配置网络,boot项改为yes
vi /etc/sysconfig/network-scripts/ifcfg-ens33
#安装依赖
yum install -y vim make cmake gcc gcc-c++
#进入libfastcommon,编译安装
./make.sh
./make.sh install
#进入fastdfs,编译安装
./make.sh
./make.sh install
#查看是否安装
cd /etc/init.d && ls | grep fdf 或者cd /etc/init.d | ls | grep fdfs
cd /etc/fdfs/ | ll #配置文件
cd /usr/bin|ls |grep fdfs
#修改tracker配置文件
cd /etc/fdfs/
cp tracker.conf.sample tracker.conf
base_path=/fastdfs/tracker
http.server_port=80
mkdir -p /fastdfs/tracker
#启动停止tracker
/etc/init.d/fdfs_trackerd start
/etc/init.d/fdfs_trackerd stop
#同理修改storage配置并启动
cp storage.conf.sample storage.conf
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=localhost:22122
http.server_port=80
mkdir -p /fastdfs/storage
/etc/init.d/fdfs_storaged start #启动
#同理复制修改client
cp client.conf.sample client.conf
base_path=/fastdfs/tracker
tracker_server=localhost:22122
#修改config
cd /tmp/fastdfs-nginx-module-master/src
CORE_INCS="$CORE_INCS /usr/include" #去掉local
ps -el|grep fdfs #查看trcker进程
#安装nginx :
yum -y install pcre pcre-devel zlib zlib-devel
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/tmp/fastdfs-nginx-module-master/src
make
make install
#制作软连接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
#复制配置文件修改
cp /tmp/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
cd /etc/fdfs #修改mod_fastdfs.conf
connect_timeout=10
url_have_group_name = true
tracker_server=fileServer:22122
store_path0=/fastdfs/storage
cd /tmp/fastdfs-master/conf|ls |cp http.conf mime.types /etc/fdfs
#配置nginx:
location ~/group([0-9])/M00/{
ngx_fastdfs_module;
}
#启动nginx
/usr/local/nginx/sbin/nginx
#开机启动,rc.local中加入配置
chmod +x /etc/rc.d/rc.local
vim /etc/rc.d/rc.local
/etc/init.d/fdfs_trackerd start
/etc/init.d/fdfs_storaged start
mkdir /var/run/nginx/
touch /var/run/nginx/nginx.pid
/usr/local/nginx/sbin/nginx
刷新配置:/usr/local/nginx/sbin/nginx -s reload
nginx配置
user root; #没有这个会报403错误
worker_processes 4;#工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。
events {
worker_connections 102400;#每个工作进程的最大连接数量
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
client_max_body_size 2000m; #最大限制我2000M
#weight=5的访问次数是1的5倍,服务器性能越高,配置的相对就高
upstream nginx_gateway {
server localhost:8080 weight=1;
server localhost:18080;
server localhost:28080;
server localhost:38080;
server 192.168.10.10:48080 weight=5;
}
#端口号是80 访问网址是ynyjb.cn
server {
listen 80;
server_name ynyjb.cn;
root /usr/local/web/;
#配置方式一
#api接口 所有以/api开头的都会访问此路径
location /api {
proxy_pass http://nginx_gateway;
proxy_set_header Host $host:$server_port;
#不配置这个websocket不生效
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
#fastdfs文件存储
location ~/group([0-9])/M00/{
add_header 'Access-Control-Allow-Origin' '*';
ngx_fastdfs_module;
}
#配置方式二
#后台系统(/usr/local/web/management)
location /management {
root /usr/local/web/;
index index.html index.htm;
}
#配置方式三(这中必须要重写@router)
#图片存储位置
location /image {
index index.html index.htm;
try_files $uri $uri/ @router;
}
#配置方式四
#portal系统(/usr/local/web/portal)
location /portal {
index index.html index.htm;
}
#第三种配置方式必须有这个
location @router {
rewrite ^.*$ /index.html last;
}
#根目录最后配置
location / {
root /usr/local/web/customer;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name www.yjbhy.com;
location / {
root /usr/local/web/applyForLicense/;
index index.html index.htm;
}
}
}
#刷新nginx配置
/usr/local/nginx/sbin/nginx -s reload
#开机启动
vim /lib/systemd/system/nginx.service
#插入内容如下
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#启动systemctl start nginx
配置好nginx访问报403错误
在nginx.conf配置文件中最上面加root用户
user root;
worker_processes 1;
Jenkins安装使用
#设置跟新地址,Jenkins/插件管理/高级/升级站点” 提交。
http://mirror.xmission.com/jenkins/updates/current/update-center.json
#需要安装的插件
pipeline,Pipeline Maven Integration
Git client
Maven Integration
Publish Over SSH
SSH
jar包在服务器上运行
java -jar management.jar --server.port=8888
java -jar eureka.jar >> /data/logs/eureka.log 2>&1 & #eureka
java -jar zuul.jar >> /data/logs/zuul.log 2>&1 & #zuul
java -jar auth.jar >> /data/logs/auth.log 2>&1 & #auth
java -jar portal.jar >> /data/logs/portal.log 2>&1 & #portal
java -jar management.jar >> /data/logs/management.log 2>&1 & #management
java -jar trade.jar >> /data/logs/trade.log 2>&1 & #trade
nacos
sh startup.sh -m standalone #官方的启动命令
bash startup.sh -m standalone #修改后的启动命令
nohup bash startup.sh -m standalone & #后台启动
#开机自启动
vim /lib/systemd/system/nacos.service
#添加如下内容
[Unit]
Description=nacos
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh -m standalone
ExecReload=/usr/local/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#保存退出后,执行以下命令
systemctl daemon-reload
systemctl enable nacos.service
systemctl start nacos.service #但是好像启动报错
nginx开机自启动
vim /lib/systemd/system/nginx.service #在系统服务目录里创建nginx.service文件,
#编辑内容如下:
[Unit]
Description=nginx service
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#保存退出
systemctl enable nginx.service #设置开机启动
systemctl start nginx.service #启动nginx服务
systemctl disable nginx.service #停止开机自启动
systemctl status nginx.service #查看服务当前状态
systemctl restart nginx.service #重新启动服务
systemctl list-units --type=service #查看所有已启动的服务
openssl密钥工具
#支付宝使用
openssl genrsa -out rsa_private_key.pem 2048
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
openssl pkcs8 -topk8 -nocrypt -inform PEM -in rsa_private_key.pem -outform PEM outform