發表文章

目前顯示的是 5月, 2018的文章

Docker筆記-Docker-Compose使用-01

圖片
有時候一個專案可能會開啟多個container,每個container又要再加入同一個docker-network,而每一個去下指令開啟container的時候就會有些繁瑣,因此可以使用docker-compose去統一管理,使用前請先安裝docker-compose。 docker-compose安裝方式 要運行docker-compose必須要有兩個元件 1.docker-compose 本身 2.docker-compose.yml 以下為小小的範例, 主要是啟動nginx1.13.12和啟動mysql5.7版, 如有需要知道可以去使用哪一個版本可以上  Docker Hub  去找 version: "3" #檔案docker-compose.yml所使用的格式版本 services: #定義服務 web1: #定義一個web1的服務 image: nginx:1.13.12 #指定的image為nginx 1.13.12版本 container_name: nginx-a #指定此container的名稱 ports: #設定port - "8083:80" volumes: #設定container外部儲存的地方 - ./nginx/html/:/usr/share/nginx/html - ./nginx/log/:/var/log/nginx/ - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf - ./nginx/conf/vhost/:/etc/nginx/conf.d networks: #指定docker-network - junior2-network db1: #定義一個db1服務 image: mysql:5.7 #指定的image為mysql 5.7版本 container_name: mysql-a #指定此container的名稱 environment: #設定輸入的指令 - M

Docker筆記-Docker-Compose 安裝

圖片
安裝流程 需求 在安裝docker-compose之前,必須要先安裝好docker喔~ 如未安裝可以參考 Docker 安裝筆記-ceontos7 下載docker-compose位置 https://github.com/docker/compose/releases 執行下列命令 curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose 加入可以執行的權限 chmod +x /usr/local/bin/docker-compose 確認版本號 docker-compose --version 移除方法 rm /usr/local/bin/docker-compose 參考資料: https://docs.docker.com/compose/install/#prerequisites https://github.com/docker/compose/releases

Docker筆記-建立container間的網路

圖片
有時候~有時候~我會相信一切有盡頭 有時候有些軟體都會運行到兩個以上的軟體,例如nginx+mysql 那要如何讓兩個container互相找到對方? 1.建立docker的網路 docker network create [網路名稱] EX: docker network create junior-net 2.啟動container,並將container加入剛剛建立的docker網路 docker run --name [container名稱] --net [網路名稱] EX: docker run --name nginx -p 8080:80 --net junior-net -d nginx 3.我們可以測試看看兩個container是否真的在同一個網路內 01.首先,創立兩個container並加入同一個網路內 docker network create junior-net docker run --name junior-a -p 8080:80 -net junior-net -d nginx docker run --name junior-b -p 8080:80 -net junior-net -d nginx 02.進入nginx-a,使用ping,看看是否找的到nginx-b docker exec -it nginx-a /bin/bash ping nginx-b 萬一出現 bash: ping: command not found 在container內輸入 apt-get update apt-get install iputils-ping 安裝好就可以使用ping了 4.要會創建docker網路也要會刪 docker network rm [網路名稱] 注意1:刪除前請確認加入此網路的container是否都已關閉,否則會報錯 注意2:一旦docker網路被刪除後,原本已加入的container都無法再被啟動

Docker筆記-建立nginx並設定外掛資料夾

圖片
docker 快速啟動nginx 1.創出要與container連結的資料夾 mkdir /docker-lab mkdir /docker-lab/nginx mkdir /docker-lab/nginx/conf mkdir /docker-lab/nginx/conf/vhost mkdir /docker-lab/nginx/log mkdir /docker-lab/nginx/html 2.創立nginx的設定檔,包含nignx.conf與vhost裡面的*.conf nginx.conf =========================================================== user  nginx; worker_processes  auto; error_log  /var/log/nginx/error.log warn; pid        /var/run/nginx.pid; events { use epoll;     worker_connections  51200; multi_accept on; } 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   

Docker 安裝筆記-ceontos7

圖片
安裝版本 Docker CE Docker 分成  EE(Enterprise Edition) 企業版 和  CE(Community Edition)  一般版,這次安裝使用的是 CE(Community Edition)  。 Docker CE 又分成兩種類型 Stable: 每季更新一次 Edge: 每月更新一次 第一步驟: 移除舊版本 因為centos7會內建一些比較舊版本的docker,為了確保docker是最新鮮的,我們要先把舊版的docker清掉 $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine 第二步驟: 安裝一些必要套件 $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 第三步驟: 新增 Docker 官方的 stable 套件庫(repository),縱使您想要安裝 edge 版本的 Docker,也要先新增這一個套件庫: $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo     docker.repo 中也同時包含 edge 版本的 Docker 套件庫,不過預設是被停用的,想安裝 edge 版本的話,就要先啟用 edge 版本的套件庫(如

Mysql 無法登入問題

圖片
問題如下 Access denied for user 'root'@'localhost' (using password: NO) 解決方式: 1.service mysqld stop 2.mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 3.mysql -uroot mysql 4.UPDATE user SET Password=PASSWORD('輸入你 root 的新密碼') where USER='root'; 5.FLUSH PRIVILEGES; 6.GRANT all ON *.* TO root@'localhost' IDENTIFIED BY '輸入你 root 的密碼'; 7.FLUSH PRIVILEGES; 8.service mysqld restart 萬一出現密碼強度太低的警告,請服用降低密碼安全性後再次設定密碼 set global validate_password_policy=0; mysql5.7以上,第四步驟請使用 update user set authentication_string=password('password') where user='root'; centos7以上 vim /etc/my.cnf 在其配置文件/etc/my.cnf中加入skip-grant-tables=1即可

Docker 安裝筆記

圖片
Centos 6.8 yum install -y yum-utils \   device-mapper-persistent-data lvm2    sudo yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm  sudo yum install docker-io Ubuntu 移除舊版本 apt-get remove docker docker-engine docker.io -y apt-get autoremove -y apt-get purge -y 安裝相關工具 apt-get update apt-get install curl -y apt-get install inux-image-extra-$(uname -r) apt-get install linux-image-extra-virtual apt-get install apt-transport-https ca-certificates software apt-get install apt-transport-https ca-certificates software-properties-common -y 下載並新增APT儲存庫憑證 curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo apt-key add - 檢查APT儲存庫憑證 sudo apt-key finger 0EBFCD88 新增docker儲存庫到儲存庫清單 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu stable" vim /etc/apt/sources.list deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable # deb-src [arch=amd64] https://download.docker.com

LINUX玩玩-產出大型文字

圖片
使用套件: figlet 安裝方法: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm yum install figlet 然後就可以使用figlet把印出來的字體變大 figlet hello world

從零開始的nginx建置

圖片
下載位置 https://nginx.org/en/download.html 編譯安裝開始 在編譯nginx原始程式碼前,我們需要邊準的GCC編譯器,建議事先使用yum安裝 yum -y install gcc gcc-c++ 一、nginx的一些模組需要依賴其他協力廠商的函數庫,通常有 pcre函數庫(支援rewrite模組)、zlib函數庫(支援gzip模組)和openssl函數庫(支援ssl模組)等 因此,我們在編譯nginx前至少要安裝三個函數庫 1.pcre函數庫 2.zlib函數庫 3.openssl函數庫 01.pcre函數庫下載位置 https://www.pcre.org/ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz 02.zlib函數庫下載位置 http://zlib.net/ wget http://zlib.net/zlib-1.2.8.tar.gz 03.openssl函數庫安裝 yum install openssl openssl-devel 接著開始編譯剛剛提到的三個函數庫 1.pcre函數庫 tar zxvf pcre-8.38.tar.gz cd pcre-8.38 ./configure make make install 2.zlib函數庫 tar zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure make make install 3.openssl函數庫 yum -y install openssl openssl-devel 二、編譯nginx tar zxvf nginx-1.14.0.tar.gz cd nginx-1.14.0 ./configure  --prefix=/usr/local/web/nginx --with-http_stub_status_module --with-http_ssl_module make make instal

Zabbix 使用 ssmtp mailx 寄送G-Mail

圖片
版本: zabbix 3.2 一、server設定 1.安裝ssmtp、mailx yum install ssmtp yum install mailx 2.設定ssmtp cp /etc/ssmtp/ssmtp.conf.bak vim /etc/ssmtp/ssmtp.conf ============================== root=neoonemis@gmail.com        #寄件者地址 mailhub=smtp.gmail.com:587      #smtp伺服器 AuthUser=neoonemis@gmail.com #寄件者郵件帳號 AuthPass=password                    #寄件者郵件密碼 hostname=junior-zabbix              #主機名稱 UseTLS=YES                               #啟用安全加密連線 UseSTARTTLS=YES                      #啟用安全加密連線 TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt Debug=YES                                  #輸出錯誤資訊 ============================== 3.測試ssmtp使用G-Mail寄信 echo "This is a test" | ssmtp junior@gmail.com 有收到信的話就可以進行下一步驟, 沒有收到信的狀況目前統計到兩種: 1.G-mail必須要開啟[我的帳戶]>[登入和安全性]>[允許安全性較低的應用程式] 2.你可能是用雲端的機器幫你送信,就算你脫光光,他們還是不會讓你寄信的,啾咪。 4.設定寄件腳本 使用G-mail寄信的話需設定腳本,腳本的資料夾位置在 /usr/lib/zabbix/alertscripts 底下(使用yum 安裝的情況下) 新增腳本 vim sendmail ========================

從零開始的監控系統安裝(使用zabbix)

圖片
從零開始的監控系統安裝(使用zabbix3.2) 下載位置 https://www.zabbix.com/download?zabbix=3.2&os_distribution=centos&os_version=6&db=MySQL 一、添加zabbix的rpm源 rpm -i http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm 二、安裝Zabbix Server yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent 三、安裝功能相依插件 yum -y install php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel net-snmp-utils perl-DBI 四、設定Zabbix SQL mysql -uroot -p mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix888'; mysql> flush privileges; mysql> quit; zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix 五、設定Zabbix Server vim /etc/zabbix/zabbix_server.conf 修改 DBPassword=password 六、修改時區 vim /etc/php.ini date.timezone = "Asia/Taipei" 重啟php-fpm pkill php-fpm /usr/local/web/php/sbin/php-fpm 七、修改ngin