这里写目录标题

本博客文章(学习笔记)导航 (点击这里访问)
在这里插入图片描述

秒杀项目Linux命令

一 Java

1 查看系统相关信息

查看服务器内存
free -h  
查看磁盘空间
df -lh   
查看系统版本
uname -a  
查询CPU个数:
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
查询核数:
cat /proc/cpuinfo| grep "cpu cores"| uniq
查询逻辑CPU总数:
cat /proc/cpuinfo| grep "processor"| wc -l

2 安装Java

java -version //查看已经安装的java
rpm -ivh jdk-8u65-linux-x64.rpm

3 修改Java的环境变量

cd /usr/java  //进入java的安装目录
cd ~  //进入根目录
vim ~/.bash_profile  //进入profile目录

4 修改profile文件

PATH=$PATH:$HOME/bin
JAVA_HOME=/usr/java/jdk1.8.0_121
PATH=$PATH:$JAVA_HOME/bin
export PATH

5 刷新修改过的环境变量

source ~/.bash_profile

二 MySQL

6 安装MySQL

yum install mysql*

7 安装mariadb-server

yum install mariadb-server

8 开启MySQL数据库

systemctl start mariadb.service

9 查看mysql是否运行

ps -ef|grep mysql

10 查看3306端口的运行情况

netstat -anp |grep 3306

11 修改root用户的密码

mysqladmin -u root password root

12 连接MySQL数据库

mysql -uroot -proot

13 数据库备份(本机)

/usr/local/mysql/bin/mysqldump -uroot -proot --databases miaosha > ~/Downloads/miaosha.sql

14 上传到linux服务器(本机)

scp ~/Downloads/miaosha.sql  root@47.99.115.57://tmp/

15 执行sql文件

1 cmysql -uroot -proot < //tmp/miaosha.sql

2 source: //tmp/miaosha.sql

三 单机部署

16 项目打包(本机)

在项目根路径下
mvn clean package  //完成编译打包

17 进入打包目录

cd target

18 运行jar包

java -jar miaosha.jar

19 发现没有主清单属性

报错 找不到主程序  在pom文件中添加插件,把哪些springboot的依赖也打包
	<plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
          <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>

20 把jar包上传到服务器(本机)

scp ~/Downloads/miaosha.jar  root@47.99.115.57://tmp/

21 运行jar包

java -jar miaoshsa.jar

22 开放8090端口

netstat  -ntulp | grep 端口号 //查询已开放的端口号
firewall-cmd --query-port=666/tcp  //查看指定端口是否已打开

查看想开的端口是否已开:firewall-cmd --query-port=6379/tcp
添加指定需要开放的端口:firewall-cmd --add-port=123/tcp --permanent
重载入添加的端口:firewall-cmd --reload
查询指定端口是否开启成功:firewall-cmd --query-port=123/tcp

移除指定端口:firewall-cmd --permanent --remove-port=123/tcp

23 打开/关闭防火墙

立即生效 重启失效
开启: service iptables start 
关闭: service iptables stop

重启生效
开启: chkconfig iptables on
关闭: chkconfig iptables off

24 查看防火墙状态

查看防火墙状态
   查看防火墙状态 systemctl status firewalld
   开启防火墙 systemctl start firewalld  
   关闭防火墙 systemctl stop firewalld
   开启防火墙 service firewalld start 
若遇到无法开启
   先用:systemctl unmask firewalld.service 
   然后:systemctl start firewalld.service

25 编写额外的配置文件

application.properties文件

server.port=80
server.tomcat.accept-count=1000
server.tomcat.max-connections=10000
server.tomcat.max-threads=300
server.tomcat.min-spare-threads=100
server.tomcat.keepAliveTimeOut=1800000
server.tomcat.maxKeepAliveRequests=100

26 编写deploy脚本

vim deploy.sh

nohup java -Xms400m -Xmx400m -XX:NewSize=200m -XX:MaxNewSize=200m -jar miaosha.jar --spring.config.addition-location=/tmp/www/miaosha/application.properties

ESC : wq 退出

27 更改文件权限

chmod -R 777 *

28 后台启动deploy.sh

./deploy.sh &

29 查看日志的内容

tail -200f nohub //查看后面200行

30 查看日志中的指定单词

tail -200f nohub | grep java

四 多机部署

31 把文件发送到其他几台linux服务器上

 scp -r //tmp/www root@118.31.243.232:/tmp/

32 修改扩展的服务器配置文件中的数据库地址

spring.datasource.url=jdbc:mysql://47.99.115.57:3306/miaosha?useUnicode=true&characterEncoding=UTF-8

33 安装telnet

yum install telnet

34 测试是否联通

telnet 47.99.115.57 3306

35 连接没有权限(修改mysql服务器上的权限表)

mysql -uroot -proot
show databases;
user mysql;
show tables;
select *from user;
select user,host,password from user;

image.png

36 授权所有知道密码的用户

grant all privileges on *.* to root@'%' identified by 'root';

37 刷新权限

flush privileges;

38 安装Java

把jdk包上传到tmp目录
chmod -R 777 jdk-8u65-linux-x64.rpm
rpm -ivh jdk-8u65-linux-x64.rpm 

修改环境变量
vi /etc/profile

JAVA_HOME=/usr/java/jdk1.8.0_65
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

刷新
source /etc/profile

39 报错telnet: connect to address 47.99.115.57: No route to host

开启3306端口 firewall-cmd --add-port=3306/tcp --permanent
刷新 firewall-cmd --reload
查询3306是否打开 firewall-cmd --query-port=3306/tcp

40 测试扩展服务器的接口

curl http://123.56.93.147:8090/item/get?id=6  //服务器2号
curl http://39.105.1.17:8090/item/get?id=6  //服务器1号

五 Nginx服务器配置

41 上传openResty到nginx服务器

通过fileZilla上传
chmod -R 777 openresty-1.13.6.2.tar.gz

image.png

42 解压openresty.gz

tar -zxvf openresty-1.13.6.2.tar.gz

43 进入解压后的openresty

cd openresty

44 编译openresty

 ./configure

45 编译失败 安装所需的前置环境

yum install pcre-devel openssl-devel gcc curl

46 安装完毕继续编译

 ./configure

47 继续编译

make

48 编译完成安装

make install

49 进入openresty的安装目录

cd /usr/local/openresty

image.png

50 启动nginx

cd /nginx  //进入nginx目录
sbin/nginx -c conf/nginx.conf //启动nginx

51 测试是否部署安装成功

http://101.200.240.253/

52 把网页资源上传到html文件夹中

/usr/local/openresty/nginx/html

移动文件夹 cp -r /usr/local/openresty/nginx/html
删除文件夹

53 测试nginx是否能访问

http://101.200.240.253/getotp.html

image.png

54 修改本地host文件

C:\Windows\System32\drivers\etc

image.png

101.200.240.253  miaoshaserver

image.png

55 再次测试

http://miaoshaserver/getotp.html
访问成功

image.png

56 修改conf中的配置文件

vim nginx.conf
修改过后:静态资源文件会去resources文件里找
http://miaoshaserver/resources/getotp.html

image.png
image.png

57 创建resources文件夹

mkdir resources把所有文件都复制进去

58 重启nginx

sbin/nginx -s reload

59 重新访问

http://miaoshaserver/resources/getotp.html

60 再次修改nginx.conf

image.png

61 测试静态接口

http://miaoshaserver/resources/getotp.html

62 测试动态接口

http://miaoshaserver/item/get?id=6

63 开启内嵌tomcat的accesslog

mkdir tomcat
chmod -R 777 tomcat
vim application.properties

server.tomcat.accesslog.enabled=true   //开启accesslog
server.tomcat.accesslog.directory=/tmp/www/miaosha/tomcat   //指定目录
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D  //指定格式

64 80端口被占用

netstat   -nultp    //查看端口号
netstat  -anp  |grep   端口号  //查看端口号对应的pid
kill -9 进程id  //杀死进程

65 测试某进程的最大线程数

ps -ef | grep java  //得到pid
pstree -p 19135|wc -l //根据pid得到线程数

66 查看和某台服务器建立连接的数量

netstat -an | grep ip地址|wc -l

67 查看和某个端口建立连接的数量

netstat -an | grep 端口号|wc -l

六 Redis

68 上传redis到服务器

 chmod -R 777 redis-4.0.1.tar.gz

69 解压redis

 tar -zxvf redis-4.0.1.tar.gz

70 进入redis

cd redis-4.0.1

71 生成配置

./configure

72 编译redis

make

73 安装redis

make install

74 进入src

cd src

75 启动redis

./redis-server

76 后台启动redis

./redis-server &

77 启动redis客户端

./redis-cli

78 测试

set key name
get key

79 修改本地java并打包

80 修改redis.conf

bind 47.99.115.57 127.0.0.1   //允许访问redis的ip地址

81 启动redis

src/redis-server ./redis.conf &

连接:./redis-cli -h 127.0.0.1 -p 6379 -a root

82 修改properties

spring.redis.host=47.99.115.57

七 Phantomjs

83 下载phantomjs

从官网http://phantomjs.org/download.html下载linux64位的安装包即  phantomjs-2.1.1-linux-x86_64.tar.bz2

tar -xjvf phantomjs-1.9.7-linux-x86_64.tar.bz2

如果报没找到命令,则yum install -y bzip2

84 安装依赖

安装依赖——fontconfig和freetype: 
yum install fontconfig freetype2
sudo yum install gcc gcc-c++ make git openssl-devel freetype-devel fontconfig-devel 

移动到合适位置
sudo mv phantomjs-1.9.7-linux-x86_64 /usr/local/src/phantomjs

将可执行文件放入系统路径: 
sudo ln -sf /usr/local/src/phantomjs/bin/phantomjs /usr/local/bin/phantomjs

85 查看版本号

在终端下测试Phantomjs。你应该会看到如下输出:
phantomjs -v
2.1.1

86 新建脚本

#vi a.js

var page = require('webpage').create();
page.open('https://www.baidu.com/', function () {
	page.render('test/example.png');
	phantom.exit();
});

87 运行

phantomjs a.js

88 安装字体

完成后会出现一个test文件夹,在文件夹内有个图片
查看图片,显示乱码。
解决方案,安装字体。
yum install bitmap-fonts bitmap-fonts-cjk
再次执行截图
phantomjs a.js

八 Rocket MQ安装

89 下载Rocket MQ

wget https://dlcdn.apache.org/rocketmq/4.9.2/rocketmq-all-4.9.2-source-release.zip

90 赋予权限

chmod -R 777 *

91 解压

yum install unzip
unzip rocketmq-all-4.3.2-bin-release.zip

92 进入rocketmq-all-4.3.2-bin-release

image.png

93 进入bin

image.png

94 Start Name Server

> nohup sh bin/mqnamesrv &
> tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
检查是否启动
ps -ef|grep name
检查9876端口
netstat -anp|grep 9876

95 Start Broker

 > nohup sh bin/mqbroker -n localhost:9876 &
 > tail -f ~/logs/rocketmqlogs/broker.log 
 The broker[%s, 172.30.30.233:10911] boot success...
1 启动失败
nohup: mqnamesrv: No such file or directory
nohup: mqnamesrv: No such file or directory

2 进入bin启动

3 修改mqbroker.xml
<-XX:NewSize>128M</-XX:NewSize>
<-XX:MaxNewSize>128M</-XX:MaxNewSize>
<-XX:PermSize>64M</-XX:PermSize>
<-XX:MaxPermSize>64M</-XX:MaxPermSize>

4 修改runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn512m"

5 重新启动
nohup ./mqbroker -n 127.0.0.1:9876 &

6 查看启动日志
2021-11-13 16:38:35 WARN main - Load default transaction message hook service: TransactionalMessageServiceImpl
2021-11-13 16:38:35 WARN main - Load default discard message hook service: DefaultTransactionalMessageCheckListener
2021-11-13 16:38:35 INFO FileWatchService - FileWatchService service started
2021-11-13 16:38:35 INFO PullRequestHoldService - PullRequestHoldService service started
2021-11-13 16:38:36 INFO brokerOutApi_thread_1 - register broker to name server 127.0.0.1:9876 OK
2021-11-13 16:38:36 INFO main - Start transaction service!
2021-11-13 16:38:36 INFO main - The broker[iZbp12wzdmw1wuvo04s4r1Z, 172.25.59.205:10911] boot success. serializeType=JSON and name server is 127.0.0.1:9876
2021-11-13 16:38:45 INFO BrokerControllerScheduledThread1 - dispatch behind commit log 0 bytes
2021-11-13 16:38:45 INFO BrokerControllerScheduledThread1 - Slave fall behind master: 0 bytes
2021-11-13 16:38:46 INFO brokerOutApi_thread_2 - register broker to name server 127.0.0.1:9876 OK

7 启动成功

96 Send & Receive Messages

image.png
producter 发送消息成功

export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...

image.png

consumer 接收消息成功

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...

97 Shutdown Servers

> sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK

> sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK

98 创建topic

./mqadmin updateTopic -n localhost:9876 -t stock -c DefaultCluster

99 Rocket MQ远程连接

修改conf/broker.conf,加上
	namesrvAddr=47.99.115.57:9876
	brokerIP1=47.99.115.57

100 启动

nameServer启动:nohup sh bin/mqnamesrv  -n 47.99.115.57:9876 & 
broker启动:nohup sh bin/mqbroker -n 47.99.115.57:9876 autoCreateTopicEnable=true  -c conf/broker.conf &
注:autoCreateTopicEnable配置是否自动创建主题

101 Rocket MQ占用的端口

9876
10900
10909
10911
都需要在防火墙里打开

九 其他

101 ip port测试

telnet ip port

102 IP测试

ping ip

103 开启bin log

1 进入vim /etc/my.cnf
2 添加三行
	[mysqld]
	binlog_format=ROW
	server-id=1
	log-bin=/var/lib/mysql/mysql-bin
3 重启service mariadb restart

104 指定IP访问mysql

 UPDATE `user` SET `Host` = '113.128.*.*' where `Host` = '113.128.*.*';
 flush privileges;
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐