手上也有几个站了,现在全部在docker下运行,把常用的部署命令备份一下。

 

MYSQL

目前都用8.0版的mysql了,使用InnerDB引擎,

创建mysql 映射数据到 /ocean/data/下面

docker run -p 3306:3306 -d --name mysql -v /ocean/data:/var/lib/mysql -v /ocean/config/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD="密码不能贴出来" -d mysql

另外备份一下my.ini

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0 
 
#默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password

# Custom config should go here
!includedir /etc/mysql/conf.d/

# MySQL能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,
# 然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。
# 如果期望在一个短时间内有很多连接,你需要增加它。也就是说,如果MySQL的连接数据达到max_connections时,新来的请求将会被存在堆栈中,
# 以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源。
# 另外,这值(back_log)限于您的操作系统对到来的TCP/IP连接的侦听队列的大小。
# 你的操作系统在这个队列大小上有它自己的限制(可以检查你的OS文档找出这个变量的最大值),试图设定back_log高于你的操作系统的限制将是无效的。默认值为50,对于Linux系统推荐设置为小于512的整数。
back_log = 512

# 这是mysql优化中非常重要的一项配置
# 指定用于索引的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写)。注意:该参数值设置的过大反而会是服务器整体效率降低
# 默认值是16M,对于内存在4GB左右的服务器该参数可设置为384M或512M。
# 想要知道key_buffer_size设置是否合理,通过命令show global status like 'key_read%';来查看Key_read_requests(索引请求次数)和Key_reads(从i/o中读取数据,也就是未命中索引),
# 计算索引未命中缓存的概率:key_cache_miss_rate = Key_reads / Key_read_requests * 100%,至少是1:100,1:1000更好,比如我的key_cache_miss_rate = 15754 / 26831941 * 100% = 1/1700,也就是说1700个中只有一个请求直接读取硬盘
# 如果key_cache_miss_rate在0.01%以下的话,key_buffer_size分配的过多,可以适当减少。
# MySQL服务器还提供了key_blocks_*参数:show global status like 'key_blocks_u%';
# Key_blocks_unused表示未使用的缓存簇(blocks)数,Key_blocks_used表示曾经用到的最大的blocks数,比如这台服务器,所有的缓存都用到了,要么增加key_buffer_size,要么就是过渡索引了,把缓存占满了。
# 比较理想的设置:Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100% < 80%
key_buffer_size = 384M

10038错误

先进入mysql的容器

docker exec -it mysql /bin/bash

登录mysql

mysql -h localhost -u root -p

授权即可

GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.28.3.98' IDENTIFIED BY 'password' WITH GRANT OPTION;


Nginx

docker run --name nginx -d -p 80:80 -v /ocean/config/nginx.conf:/etc/nginx/nginx.conf -v /ocean/config/conf.d/:/etc/nginx/conf.d/ nginx

nginx.conf

user  root;
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    gzip  on;
    include /etc/nginx/conf.d/*.conf;
}

其中一个site的配置,放在/ocean/config/conf.d 目录下

server {
    listen       80;
    server_name  blog.wx6.org;
    location / { 
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $remote_addr;
	proxy_pass http://*.*.*.*:8002;			
    }
}

 

JieLongDaQuan

#更换了镜像文件为aspnet3.0
docker run --name jielongdaquan -d -h jielongdaquanAli -p 8001:80 --restart=always --link mysql:db -v /ocean/www/jielongdaquan:/wwwroot -v /etc/localtime:/etc/localtime -w /wwwroot/ mcr.microsoft.com/dotnet/core/aspnet:3.0 dotnet /wwwroot/HeYang.JLDQ.MainWeb.dll



GWX5

docker run --name gwx5 -d -h gwx5 -p 8004:80 --restart=always --link mysql:db -v /ocean/www/gwx5:/wwwroot -v /etc/localtime:/etc/localtime -w /wwwroot/ microsoft/dotnet dotnet /wwwroot/HeYang.GWX5.Web.dll

 

ZWCOOL

docker run --name zwcool -d -h zwcool --restart=always -p 8002:80 --link mysql:db -v /ocean/www/zwcool:/wwwroot -v /etc/localtime:/etc/localtime -w /wwwroot/ microsoft/dotnet dotnet /wwwroot/HeYang.ZWCool.Web.dll

ZWCOOL_PUBLISHER

docker run --name zwcool_publisher -d -h zwcool_publisher --restart=always --link mysql:db -v /ocean/www/zwcool_publisher:/wwwroot -v /etc/localtime:/etc/localtime -w /wwwroot/ microsoft/dotnet dotnet /wwwroot/HeYang.ZWCool.Publisher.dll

 

BLOG

docker run --name blog -d -h blog -p 8006:80 --restart=always --link mysql:db -v /ocean/www/blog:/wwwroot -v /etc/localtime:/etc/localtime -w /wwwroot/ mcr.microsoft.com/dotnet/core/aspnet:3.0 dotnet /wwwroot/HeYang.CMS.Blog.dll

  

STOCK

#新站使用3.0
docker run --name stock2 -d -h stock2 -p 8012:80 --restart=always --link mysql:db -v /ocean/www/stock2:/wwwroot -v /etc/localtime:/etc/localtime -w /wwwroot/ mcr.microsoft.com/dotnet/core/aspnet:3.0 dotnet /wwwroot/HeYang.Stock.Web.dll
#旧站还是2.2
docker run --name stock -d -h stock -p 8005:80 --restart=always --link mysql:db -v /ocean/www/zwcool_stock:/wwwroot -v /etc/localtime:/etc/localtime -w /wwwroot/ microsoft/dotnet dotnet /wwwroot/HeYang.Stock.GridTrade.dll


WX6

docker run --name wx6 -d -h wx6 --restart=always -p 8008:80 --link mysql:db -v /ocean/www/wx6:/wwwroot -v /etc/localtime:/etc/localtime -w /wwwroot/ mcr.microsoft.com/dotnet/core/aspnet:3.0 dotnet /wwwroot/HeYang.WX6.MainWeb.dll

 

WX6OLD

docker run --name mono -d --restart=always -h mono -p 8003:80 -v /ocean/www/wx6old:/data azraelrabbit/monupw


#然后进入内部改配置
docker exec -it mono /bin/bash

#改default
port=80
root=/ /data
hosts=*    #OR your.com,*.your.com
#改jws
export MONO_IOMAP="all" //忽略大小写
#重启一下exus
 /usr/jexus/jws restart

 



Express

docker run --name express -d -h express -p 8007:80 --restart=always --link mysql:db -v /ocean/www/express:/wwwroot -v /etc/localtime:/etc/localtime -w /wwwroot/ oceanheyang/dotnetimages:2.2 dotnet /wwwroot/ExpressSearch.Web.dll
docker run --name express2 -d -h express2 -p 8011:80 --restart=always --link mysql:db -v /ocean/www/express2:/wwwroot -v /etc/localtime:/etc/localtime -w /wwwroot/ oceanheyang/dotnetimages:2.2 dotnet /wwwroot/ExpressSearch.Web.dll
#改了images
docker run --name info -d -h info -p 8010:80 --restart=always -v /ocean/www/info:/wwwroot -v /etc/localtime:/etc/localtime -w /wwwroot/ mcr.microsoft.com/dotnet/core/aspnet dotnet /wwwroot/ExpressSearch.UI.Info.dll

 

TP84

docker run --name tp84 -d -h tp84 --restart=always -p 8009:80  --link mysql:db -v /ocean/www/tp84:/wwwroot -v /etc/localtime:/etc/localtime -w /wwwroot/ microsoft/dotnet dotnet /wwwroot/HeYang.TP.TP84.dll


查找大文件

find . -type f -size +100M

 

监控所有容器的状态

docker stats  //实时监控状态
docker stats --no-stream  //获得当前的状态
docker stats blog  //只实时监控blog容器的状态

 

备份压缩

zip -r /ocean/www/jielongdaquan.zip /ocean/www/jielongdaquan/*
zip -r /ocean/www/wx6.zip /ocean/www/wx6/*
zip -r /ocean/www/wx6old.zip /ocean/www/wx6old/*
zip -r /ocean/www/blog.zip /ocean/www/blog/*



Leave a Reply