工作中项目踩得一些坑——随时补充
作者:互联网
因为运维的项目都是在服务器上,有的是在客户服务器上操作,所以我们必须熟练使用各种***和远程连接工具;
比如open***、360connect,easy connect,微软自带的***和远程,还有***堡垒机,teamware,向日葵等等;必须非常熟悉各种连接方式,当然不乏当初最艰苦的客户拍照片,我给说命令的非常原始低效率的工作方式。总之,连上服务器,进行操作就是最终目的。
当我们跟项目经理要来各种各样的连接方式并费劲九牛二虎之力连上的时候,Please show time;
首先第一个巨大的坑,网卡的误操作,在上线环境中,网卡的操作一般是不允许的,因为涉及到本地的映射,以及项目的延误等等;
如果我们需要改配置文件添加DNS或者网关的时候,我们需要的是重启命令;
service network restart | systemctl restart network
一定不要用 ifdown 命令,用完 ifdown 以后,你不会有机会用 ifup 命令的。你的远程就会断开,没有办法再次连上,只能让机房管理人员去启动网卡。
2.查看内存;
一开始一直以为 free -[h|g|m] , free 下边对应的就是剩余内存数;后来才知道原来 available 下边对应的才是服务器剩余内存;
Centos 7系列可以用 h 选项进行查看,Centos 6系列就只能用 g or m 选项才可以,而且6系列查看内存也是很大的坑;
Centos 7:available 参数对应的即为当前剩余内存;
[root@cms ~]# free -h total used free shared buff/cache available Mem: 15G 6.4G 4.8G 109M 4.1G 8.2G Swap: 7.7G 1.2G 6.5G
Centos 6: -/+ buffers/cache: 参数后的第二个参数即为当前剩余内存;
[root@Web-A ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@Web-A ~]# free -m total used free shared buffers cached Mem: 32051 31140 910 0 1919 26859 -/+ buffers/cache: 2361 29689 Swap: 8015 7 8008
3.服务器整个 Apache 部署替换为 Nginx 部署;留下痛苦的泪水,熬了好多个夜。
首先是对配置文件进行复写,这个需要进行统计域名,统计对应端口等,然后在进行复写。这个不是最重要的,我写一下最后的替换上线。
首先把配置文件写入到 /conf.d/ 目录下 ,然后进行书写检查,检查通过在停 Apache,启动nginx或者reload,让开发和测试进行统一测试,查看各种各样的问题。
这个步骤一定不能乱,事先写好,让领导检查一遍,然后在进行急速的替换。这样极大的减少的项目的下线时间。之所以写这个是因为当时我就直接把Apache停了,项目直接下线了,耽误了大家很多时间。
4.Docker中的Nginx的https部署;我也写一下步骤;
①.首先查看容器的映射目录和端口。
查看端口是查看是否有 443 端口;
查看目录是SSL证书的目录是否在映射目录下,没在的话,需要复制到映射的 /home 目录下;以供容器内的nginx使用;
[root@localhost ~]# docker port DOCEKR_NAME 82/tcp -> 0.0.0.0:82 83/tcp -> 0.0.0.0:83 888/tcp -> 0.0.0.0:62080 80/tcp -> 0.0.0.0:80 81/tcp -> 0.0.0.0:8 [root@localhost ~]# docker inspect DOCEKR_NAME "Binds": [ "/home:/storage" ],
②.因为这个要求是对 聚视 https证书进行部署,所以需要我我们需要找到 jushi 的 nginx 配置文件;
在nginx主配置文件中有关于 443 的配置内容,需要复制下来,粘贴到 jushi的配置文件下边,jushi的80配置文件内容也需要,粘贴到 443 的配置文件内容下,以供443端口进行解析配置;
我在挂载下边新建了个目录,把证书复制到映射目录下。然后在配置文件中进行修改。
ssl_certificate "/storage/peopel-ssl-key/people.pem"; ssl_certificate_key "/storage/peopel-ssl-key/people.key";
sh-4.2# cat /etc/nginx/conf.d/jushi.conf server { listen 80; root /web/html; location / { ssi on; ssi_silent_errors on; ssi_types text/shtml; index index.shtml index.html index.htm index.php list.shtml; } location ~ \.php/?.*$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; include fastcgi_params; } } server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /web/html; ssl_certificate "/storage/peopel-ssl-key/people.pem"; ssl_certificate_key "/storage/peopel-ssl-key/people.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { ssi on; ssi_silent_errors on; ssi_types text/shtml; index index.shtml index.html index.htm index.php list.shtml; } location ~ \.php/?.*$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; include fastcgi_params; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
③.修改完配置文件之后。进行书写检查;无报错后 reload nginx;
nginx -t nginx -s reload
④.找出第一步的端口映射关系和目录映射关系;然后 export 出来并 import 一个镜像;stop 老镜像,并重新启动新镜像。加入443端口;
export需要的是容器ID;
[root@localhost ~]# docker export c68bb01a7e90>docker_cms.tar [root@localhost ~]# docker import docker_cms.tar IMAGE_NAME [root@localhost ~]# docker container stop DOCEKR_NAME [root@localhost ~]# docker run -tdi --name DOCEKR_NAME2 --restart=always --privileged -p 80:80 -p 81:81 -p 82:82 -p 83:83 -p 888:62080 -p 443:443 -v /home:/storage IMAGE_NAME init
⑤.检查端口关系,并进行测试。
netstat -tnlp
标签:index,配置文件,补充,0.0,踩得,ssl,随时,root,fastcgi 来源: http://blog.51cto.com/liujingyu/2347328