<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      atwood-pan

       

      如何搭建屬于自己的服務器(Linux7.6版)

      從0搭建屬于自己的服務器

      最近小伙伴推薦的華為云活動,購買服務器相當的劃算,本人也是耗費巨資購買了一臺2核4G HECS云服務器。
      話不多說,在這里給華為云打一個廣子,活動力度還是很不錯的。
      活動詳情見鏈接:https://kuy8.com/xcGtU

      1、購買與搭建

      一般個人使用,我覺得2核4G的已經綽綽有余啦,所以本文也是基于這個配置來搭建的(看準最便宜的下手??)
      image
      點擊進入詳情頁,然后選擇指定的系統鏡像即可完成服務器的初始化工作
      image
      初始化需要一點點時間,讓子彈飛一會兒,服務器初始化完成之后,我們去控制臺可以看到我們剛剛購買的服務器
      image
      在控制臺出現如上界面,就說明服務器已經搭建完成,接下來讓我們看看如何連接到這個遠程服務器!

      2、通過SSH工具連接

      由于我們默認配置的服務器系統是LINUX7.6版本,所以我們通過遠程工具對其進行連接需要服務器對外開放22端口號。
      我們點擊進入服務器詳細信息頁面,看到安全組的默認開放已經將其開放。
      image
      這樣我們就可以通過工具對其連接了。

      Tips:不曉得密碼的話,這邊建議直接充值密碼,點擊右側更多進行重置密碼

      image
      image
      現在我們知道了用戶名root和密碼之后,我們進入工具進行連接
      輸入公網ip地址,賬戶名以及密碼這些重要信息之后即可進行連接:
      image
      連接成功如下所示:image

      3、搭建Docker容器

      對于我個人來說,本人比較喜歡使用docker來配置一些服務,例如MySQL、Nginx、Tomcat等。
      具體介紹 ??Docker介紹
      具體流程:
      (1)yum包更新到最新

      sudo yum update
      

      這個過程需要等5~10min,具體看網絡情況,出現如下圖即表示完成:
      image
      (2)安裝需要的軟件包,yum-util提供yum-config-manager功能,另外兩個是devicemapper驅動依賴

      sudo yum install -y yum-utils device-mapper-persistent-data lvm2
      

      安裝成功如下圖所示:
      image
      (3)設置yum源為阿里云
      這個小操作是為了以后下載鏡像可以更快一點!

      #3.1設置鏡像源
      sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      #3.2
      sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
      

      (4)更新并安裝Docker-CE

      sudo yum makecache fast
      sudo yum -y install docker-ce
      

      (5)安裝完成后查看版本

      docker -v
      

      出現如下圖所示即表示docker安裝成功
      image

      (6)開啟Docker服務

      sudo service docker start
      # 注意:
      # 官方軟件源默認啟用了最新的軟件,您可以通過編輯軟件源的方式獲取各個版本的軟件包。例如官方并沒有將測試版本的軟件源置為可用,您可以通過以下方式開啟。同理可以開啟各種測試版本等。
      # vim /etc/yum.repos.d/docker-ce.repo
      #   將[docker-ce-test]下方的enabled=0修改為enabled=1
      #
      # 安裝指定版本的Docker-CE:
      # Step 1: 查找Docker-CE的版本:
      # yum list docker-ce.x86_64 --showduplicates | sort -r
      #   Loading mirror speeds from cached hostfile
      #   Loaded plugins: branch, fastestmirror, langpacks
      #   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
      #   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
      #   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
      #   Available Packages
      # Step2: 安裝指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
      # sudo yum -y install docker-ce-[VERSION]
      

      運行成功之后,我們再輸入命令:docker version
      image

      到這里docker就成功的安裝了,接下來我們配置一些常用的鏡像。

      4、Docker下配置Nginx

      Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器 ,同時也提供了IMAP/POP3/SMTP服務。

      Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,在BSD-like 協議下發行。其特點是占有內存少,并發能力強,事實上nginx的并發能力在同類型的網頁服務器中表現較好。

      詳情見??nginx介紹

      # service 命令的用法
      $ sudo service docker start
      
      # systemctl 命令的用法
      $ sudo systemctl start docker
      

      Docker把應用程序及其依賴,打包在 image 文件中。

      只有通過 image 文件,才能生成 Docker 容器。
      image 文件可以看作是容器的模板。Docker 根據 image 文件生成容器的實例。
      同一個 image 文件,可以生成多個運行的容器實例。
      image 是二進制文件。實際開發中,一個 image 文件往往通過繼承另一個 image 文件,加上一些個性化設置而生成。

      # 列出本機的所有 image 文件。
      $ sudo docker image ls
      
      # 刪除 image 文件
      $ sudo docker image rm [imageName]
      

      1、部署流程:

      1. 搜索Nginx鏡像
      docker search nginx
      
      1. 拉取Nginx鏡像
      docker pull nginx
      
      1. 查看鏡像名為nginx的鏡像
      docker images nginx
      
      1. 運行鏡像,生成容器
      # 命令解讀:
      # -d:以后臺守護線程運行
      # --name:容器命名
      # -p 80:80 : 映射端口,容器內部80端口映射到服務器80端口
      # nginx :指定的鏡像(可以通過docker images 查看)
      docker run -di --name nginx80 -p 80:80 nginx(鏡像ID或者鏡像名字都可以)
      
      1. 查看容器
      docker ps
      

      image
      6. 輸入公網ip地址:ip:80
      image
      出現如上圖歡迎頁,即表示nginx部署成功

      2、配置文件

      1. 進入容器內部修改配置文件
      # 進入容器內部
      docker exec -it nginx  /bin/bash
      # 直接修改配置
      vim /etc/nginx/nginx.conf
      

      肯定有些童鞋想問,那么上面的配置文件路徑是如何得知的?

      通過文件查找命令查(按照名稱模糊全局查找文件)

      find / -name 'nginx.conf'
      

      這里要注意,因為容器與外界是完全隔離的,使用vim命令請先安裝vim:

      apt-get update
      apt-get install -y vim
      

      修改完配置,重新加載nginx:

      docker exec -it nginx nginx -s reload
      
      1. 容器加載外部配置文件

      在外部創建文件夾(用于存放Nginx配置文件)

      mkdir -p /home/usr/local/docker-config/nginx/conf
      mkdir -p /home/usr/local/docker-config/nginx/conf.d
      mkdir -p /home/usr/local/docker-config/nginx/html
      mkdir -p /home/usr/local/docker-config/nginx/logs
      

      將容器的配置文件復制到創建好的文件夾中

      	docker cp nginx:/etc/nginx/nginx.conf /home/usr/local/docker-config/nginx/
      	docker cp nginx:/etc/nginx/conf.d /home/usr/local/docker-config/nginx/conf/
      	docker cp nginx:/usr/share/nginx/html/ /home/usr/local/docker-config/nginx/html/
      	docker cp nginx:/var/log/nginx/ /home/usr/local/docker-config/nginx/logs/
      

      修改配置文件

      	vim /home/usr/local/docker-config/nginx/conf/nginx.conf
      

      刪除容器、鏡像

      docker ps
      docker rm -vf nginx
      docker images
      docker rmi nginx
      

      運行容器

      docker run -di --name nginx80 -p 80:80 -v /home/usr/local/docker-config/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/usr/local/docker-config/nginx/logs:/var/log/nginx -v /home/usr/local/docker-config/nginx/html:/usr/share/nginx/html -v /home/usr/local/docker-config/nginx/conf:/etc/nginx/conf.d -e TZ=Asia/Shanghai --privileged=true nginx
      

      默認配置文件

      #user  nobody;
      #nginx進程,一般數值為cpu核數
      worker_processes  1;
      #錯誤日志存放目錄
      #error_log  logs/error.log;
      #error_log  logs/error.log  notice;
      #error_log  logs/error.log  info;
      #進程pid存放位置
      #pid        logs/nginx.pid;
      
      #工作模式及連接數上限
      events {
          #單個后臺worker process進程的最大并發鏈接數
          worker_connections  1024;
      }
      
      
      http {
          #文件擴展名與類型映射表
          include       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"';
          #nginx訪問日志
          #access_log  logs/access.log  main;
          #開啟高效傳輸模式   
          sendfile        on;
          #激活tcp_nopush參數可以允許把httpresponse header和文件的開始放在一個文件里發布, 積極的作用是減少網絡報文段的數量
          #tcp_nopush     on;
          #連接超時時間,單位是秒
          #keepalive_timeout  0;
          keepalive_timeout  65;
          #開啟gzip壓縮功能
          #gzip  on;
          
          #基于域名的虛擬主機
          server {
              #監聽端口
              listen       80;
              server_name  localhost;
              #編碼識別
              #charset koi8-r;
              #日志格式及日志存放路徑
              #access_log  logs/host.access.log  main;
      
              location / {
                  #站點根目錄,即網站程序存放目錄 
                  root   html;
                  #首頁排序
                  index  index.html index.htm;
              }
              #錯誤頁面
              #error_page  404              /404.html;
              # 將服務器錯誤頁面重定向到靜態頁面/50x.html
              error_page   500 502 503 504  /50x.html;
              location = /50x.html {
                  root   html;
              }        
      
             
              #代理PHP腳本到Apache上監聽127.0.0.1:80
              #location ~ \.php$ {
              #    proxy_pass   http://127.0.0.1;
              #}
      
         
              #將PHP腳本傳遞到正在監聽127.0.0.1:9000的FastCGI服務器
              #location ~ \.php$ {
              #    root           html;
              #    fastcgi_pass   127.0.0.1:9000;
              #    fastcgi_index  index.php;
              #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
              #    include        fastcgi_params;
              #}
      
              #如果Apache的文檔根目錄與nginx的根目錄一致,則拒絕訪問.htaccess文件
              #location ~ /\.ht {
              #    deny  all;
              #}
          }
      
      
      
          #另一個虛擬主機,混合使用IP、名稱和基于端口的配置
          #server {
          #    listen       8000;
          #    listen       somename:8080;
          #    server_name  somename  alias  another.alias;
          #    location / {
          #        root   html;
          #        index  index.html index.htm;
          #    }
          #}
      
      
          # HTTPS server
          #
          #server {
          #    listen       443 ssl;
          #    server_name  localhost;
          #    服務的證書
          #    ssl_certificate      cert.pem;
          #    服務端key
          #    ssl_certificate_key  cert.key;
          #    會話緩存
          #    ssl_session_cache    shared:SSL:1m;
          #    會話超時時間
          #    ssl_session_timeout  5m;
          #    #加密算法
          #    ssl_ciphers  HIGH:!aNULL:!MD5;
          #    啟動加密算法
          #    ssl_prefer_server_ciphers  on;
      
          #    location / {
          #        root   html;
          #        index  index.html index.htm;
          #    }
          #}
      }
      

      使用中的配置文件(所有ip,域名,路徑皆為虛構)

      #user  nobody;
      worker_processes  2;
      error_log  logs/error.log;
      pid  logs/nginx.pid;
      
      #最大文件打開數(連接),可設置為系統優化后的ulimit -HSn的結果
      worker_rlimit_nofile 360000;
      
      events {
          #epoll是多路復用IO(I/O Multiplexing)中的一種方式,但是僅用于linux2.6以上內核,可以大大提高nginx的性能
          use epoll;
          #單個后臺worker process進程的最大并發鏈接數
          worker_connections 100000;
          #是否串行處理連接
          multi_accept off;
      }
      
      http {
          #文件擴展名與類型映射表
          include    mime.types;
          #默認文件類型
          default_type  application/octet-stream;
          #設定請求緩存 
          #戶端請求的最大可接受體大小,由行表示
          client_max_body_size 50m;
          #服務器名字的hash表大小
          server_names_hash_bucket_size 256;
          #客戶機的請求頭設置大小,對于絕大多數請求,1K的緩沖區大小就足夠了
          client_header_buffer_size 256k;
          #用來指定客戶端請求中較大的消息頭的緩存最大數量和大小
          large_client_header_buffers 4 256k;
          
          #用于配置轉發至tomcat后;tomcat獲取客戶端正式ip
          #允許重新定義和添加一些將被傳輸到代理服務器的請求頭行。作為值,可以使用文本、變量及其組合。
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Real-Port $remote_port;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          
          #解決js跨域的問題
          #增加頭標
          add_header Access-Control-Allow-Origin *;
          add_header Access-Control-Allow-Headers X-Requested-With;
          add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
          
          #指定客戶機請求體緩沖區大小。
          client_body_buffer_size 256k;
          #客戶機的請求頭設置讀取超時。
          client_header_timeout 3m;
          #客戶機的請求體設置讀取超時。
          client_body_timeout 3m;
          #客戶端分配響應超時時間。
          send_timeout 3m;
          #訪問日志存放路徑
          access_log   no;
          #客戶端連接保持活動的超時時間,在超過這個時間之后服務器會關閉該鏈接。
          keepalive_timeout  0;
          #修改或隱藏Nginx的版本號
          server_tokens off;
          #虛擬主機配置
          server {
          #listen指令指定所包含的服務器接受的地址和端口。可以只指定地址、端口或服務器名作為地址      
          listen       80;
          #e用來指定ip地址或者域名,多個域名之間用空格分開
          server_name  localhost;
          #對 "/gzh" 啟用反向代理
          location /gzh
          {
              #根據表達式來更改URI,或者修改字符串。注意重寫表達式只對相對路徑有效。
              #此處是將/gzh以前的地址替換成http://weixin.qq.com/q/xxx
              rewrite ^ http://weixin.qq.com/q/xxx;
          }
          
          location /test {
              default_type text/html;
              return 200 "207_80";
          }
          
          location / {
              default_type text/html;
              #根據規則的執行情況,返回一個狀態值給客戶端。
              return 200 "207_80";
          }
          location /status                                                                                       
          {                                                                                                
              #這個模塊能夠獲取Nginx自上次啟動以來的工作狀態,此模塊非核心模塊,需要在編譯的時候手動添加編譯參數                                               
              stub_status on;        
              #日志                                                                            
              access_log /usr/local/nginx/logs/status.log;                                                                                     
          }      
          location /lua{
              default_type text/html;
              content_by_lua_file /usr/local/op/code/test.lua;
          }
          location /comm{
              default_type text/html;
              if ( $request_uri ~* /comm/gzhqr ) {
                  content_by_lua_file /usr/local/op/code/redisget.lua;
              }
              proxy_pass http://192.168.1.209;
          }
          
          error_page   500 502 503 504  /50x.html;
          location = /50x.html {
              root   html;
          }
      }
          
      server
      {
          listen 192.168.88.100:8081;
          server_name www.cs.cc;
          default_type 'text/html';
          charset utf-8;
          # 日志級別
          error_log  logs/error.log info;    
          location /test {
              default_type text/html;
              return 200 "207_8081";
          }
          location /luac
          {
              default_type text/html;
              #lua_code_cache off;
              #$request_uri就是完整url中刨去最前面$host剩下的部分,比如http://www.baidu.com/pan/beta/test1?fid=3的就是/pan/beta/test1?fid=3
              #~* /devc/gzhqr表示含有/devc/gzhqr為true
              if ( $request_uri ~* /devc/test ) {
                  content_by_lua_file /usr/local/op/lualib/tcode/test1.lua;
              }
          }
          location / {
              root   html;
              index  index8081.html index8081.htm;
          }
      }
      
      
      server {
          listen    8085;
          listen    443 ssl;
          #填寫綁定證書的域名
          server_name www.cs.cc;
          #為服務器啟用HTTPS。
          #ssl on;
          ssl_certificate /usr/local/op/nginx/conf/1_www.cs.cc_bundle.crt;
          ssl_certificate_key /usr/local/op/nginx/conf/2_www.cs.cc.key;
          ssl_session_timeout 5m;
          #指令啟用所指示的協議。
          ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
          #描述了允許的密碼。密碼以OpenSSL支持的格式分配
          ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
          #要求協議SSLv3和TLSv1服務器密碼優先于客戶機的密碼。
          ssl_prefer_server_ciphers on;
          charset utf-8;
          resolver 114.114.114.114;
          #日志級別
          error_log  logs/error.log info;    
          
          #網頁
          location ~/social_security_homepage.html {
              rewrite ^(.*)$ /socialstop.html break;
          }
          #網絡資源路徑
          location /h5/huo/images/
          {
              proxy_pass  http://192.168.1.209:3000/images/;
          }
          #地址
          location /h5/
          {
              proxy_pass http://192.168.1.209:3000/;
          }
          
          #本地路徑
          location /upload/file/
          {
              root /opt/nci/NCI_DOWN/;
          }
          if ($request_uri ~* /wxapp/sign/)
          {
              rewrite ^/(.*) http://weixin.qq.com/r/xxx? permanent;
          }
          
          #老管理平臺圖片的重寫
          if ($request_uri ~* /download/downLoad.do\?loadFile=/ITCT_Mng/image)
          {   
              rewrite ^/(.*) https://www.cs.cc/upload/file$argloadFile? permanent;
          }
          
          
          
          #管理平臺的資源轉發
          if ($request_uri ~* ^(/PRO_GLPT/))
          {
              rewrite ^/PRO_GLPT/(.*)$ /glpt/$1 last;
              #沒有匹配上返回403 狀態碼為444(此狀態碼是非標準的),那么直接關閉此TCP連接
              #return code
              #return code text  因為要帶響應內容,因此code不能是具有跳轉功能的30x
              #return code URL    此時URI可以為URI做內部跳轉,也可以是具有“http://”或者“https://”等協議的絕對URL,直接返回客戶端,而code是30x(301, 302, 303, 307,308)
              #return URL 此時code默認為302,而URL必須是帶“http://”等協議的絕對URL
              return 403;
          }
          
          location /glpt/
          {
              proxy_pass http://192.168.1.209:8088/PRO_GLPT/;
              proxy_redirect http:// https://;
              proxy_set_header  Host $host;
              proxy_set_header  X-Real-IP  $remote_addr;
              proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto  $scheme;
              proxy_next_upstream error timeout invalid_header;
          }
          if ($request_uri ~* ^(/REDIS/))
          {
              rewrite ^/REDIS/(.*)$ /redis/$1 last;
          }
          
          location /gitblit
          {
              proxy_pass http://192.168.1.209:10101/;
              proxy_redirect http:// https://;
              proxy_set_header  Host $host;
              proxy_set_header  X-Real-IP  $remote_addr;
              proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto  $scheme;
              proxy_next_upstream error timeout invalid_header;
          }
          
          
          location /luac
          {
              default_type text/html;
              #lua_code_cache off;
              if ( $request_uri ~* /devc/gzhqr ) {
                  content_by_lua_file /usr/local/op/lualib/tcode/gzh_info.lua;
                  #過期時間30天
                  expires 30d;
              }
          }
          
          location /comm
          {
              default_type text/html;
              #設置變量
              set $lable 0;
              if ($request_uri ~* /main.*/homeinfo) {
                  set $lable 1;
                  content_by_lua_file /usr/local/op/lualib/tcode/busi/main/main.lua;
              }
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Real-Port $remote_port;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_pass http://192.168.1.207:8089/TKB_COMMON;
          }
          #維護中的頁面
          location =/stoptaking.html
          { 
              #expires -1;
              add_header    Cache-Control no-store ;
              index stoptaking.html;
          }
      }
      

      到這里在docker中配置nginx就已經完成了

      5、Docker下配置tomcat

      (1)搜索tomcat鏡像

      search 語法:

      sudo docker search 鏡像名稱:鏡像TAG
      
      # 如: 沒有加TAG,表示默認搜索的是最新版本的tomcat鏡像
      $ sudo docker search tomcat
      
      # 如:搜索 tomcat 8.5 版本
      $ sudo docker search tomcat:8.5
      

      (2)拉取鏡像

      # 拉取 tomcat鏡像
      sudo docker pull tomcat
      
      # 查看docker所有的鏡像
      sudo docker image ls
      

      創建容器

      # -p表示端口映射
      sudo docker run -d -p 9000:8080 --name mytomcat -v /data/my_tomcat:/usr/local/tomcat/webapps tomcat
      
      • docker run 其實是 create 和 start 兩個命令的合并
      • d 表示后臺運行容器,并返回容器ID
      • p 8090:8080 表示 將容器的8080端口映射到主機的8090端口,前者是主機訪問端口:后者是容器內部端口
      • --name 給容器起別名,如 my_tomcat
      • tomcat:8.5 表示 鏡像名稱:鏡像TAG,默認最新版可以不加TAG
      • -v 表示把容器中的某個文件夾掛載到主機中,格式: -v 主機目錄:容器目錄
        運行成功后如下圖所示
        image

      (3)進入鏡像的方法
      有兩種方式:
      1進入一個正在運行容器的目錄

      docker ps     # 查看正在運行的容器,并得到 容器id
      
      # 進入tomcat容器內部
      docker exec -it [容器id] /bin/bash  # 中間那個是容器id 就是 CONTAINER_ID
      #  -it 表示進入
      

      2run運行容器并進入容器目錄

      sudo docker run -it -p 8090:8080 tomcat /bin/bash     # 運行容器并進入容器目錄,但不啟動 tomcat
      

      停止運行的容器

      docker stop [容器id]   # 如 sudo docker stop f96d191f065c
      

      6、Docker下部署MySQL

      1、準備工作

      已安裝Docker、開放了服務器安全組訪問規則端口號
      2、下載mysql8.0 docker鏡像

      docker pull mysql:8.0.28
      

      3、查看下載的docker鏡像

      docker images
      

      4、創建掛載目錄

      mkdir -p /usr/mysql/conf /usr/mysql/data
      chmod -R 755 /usr/mysql/
      

      5、創建my.cnf,注意配置文件中的端口號、字符集、時區

      vim /usr/mysql/conf/my.cnf
      

      配置信息

      [client]
      
      #socket = /usr/mysql/mysqld.sock
      
      default-character-set = utf8mb4
      
      [mysqld]
      
      #pid-file        = /var/run/mysqld/mysqld.pid
      
      #socket          = /var/run/mysqld/mysqld.sock
      
      #datadir         = /var/lib/mysql
      
      #socket = /usr/mysql/mysqld.sock
      
      #pid-file = /usr/mysql/mysqld.pid
      
      character_set_server = utf8mb4
      
      collation_server = utf8mb4_bin
      
      secure-file-priv= NULL
      
      # Disabling symbolic-links is recommended to prevent assorted security risks
      
      symbolic-links=0
      
      # Custom config should go here
      
      !includedir /etc/mysql/conf.d/
      
      

      6、啟動鏡像

      docker run --name mysql8.0 --restart=always -p 3305:3306 -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD="123123123" -e TZ=Asia/Shanghai -d mysql:8.0.28 --lower-case-table-names=1
      

      參數解釋:
      -v : 掛載宿主機目錄和 docker容器中的目錄,前面是宿主機目錄,后面是容器內部目錄
      -d : 后臺運行容器
      -p 映射容器端口號和宿主機端口號
      -e 環境參數,MYSQL_ROOT_PASSWORD設置root用戶的密碼
      --lower_case_table_names 是否配置忽略表名大小寫,1忽略0不忽略

      7、修改mysql密碼、設置遠程訪問
      進入容器

      docker exec -it mysql8.0 /bin/bash
      

      連接mysql

      mysql -uroot -p
      

      使用mysql庫

      $ mysql> use mysql
      

      修改訪問主機以及密碼等,設置為所有主機可訪問

      ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密碼';
      

      注意:
      這里用了mysql_native_password,mysql8.x版本必須使用這種方式修改密碼,否則navicate無法正確連接

      刷新

      $ mysql> flush privileges;
      

      MySQL5.7版本開啟遠程訪問

      mysql> use mysql;
      mysql> GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
      

      7、Docker下部署Redis

      1、拉取鏡像
      docker pull redis
      2、創建容器
      docker run -di --name=myredis -p 6379:6379 redis
      3、進入容器
      docker exec -it myredis /bin/bash
      image

      8、安裝JDK

      例如:我們以jdk17為例,在列表中查看可用的JDK軟件包版本,以jdk-17_linux-x64_bin.tar.gz安裝包為例,執行以下命令。

      mkdir /usr/local/jdk
      cd /jdk
      wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
      # 解壓jdk安裝包到jdk目錄下
      tar -xvf jdk-17_linux-x64_bin.tar.gz
      

      配置環境變量

      vi /etc/profile
      

      在底部添加如下信息:

      #set java environment
      JAVA_HOME=/usr/local/jdk/jdk-17.0.6
      JRE_HOME=$JAVA_HOME
      PATH=$JAVA_HOME/bin:$PATH
      CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar
      export JAVA_HOME JRE_HOME PATH CLASSPATH
      

      執行以下命令保存并退出。

      :wq
      

      執行以下命令使/etc/profile里的配置生效。

      source /etc/profile
      

      驗證安裝。

      java -version
      

      回顯信息如下所示驗證安裝jdk成功。

      java version "17.0.6" 2023-01-17 LTS
      Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190)
      Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)
      

      到這里完成基于Tomcat快速構建Java Web環境

      9、安裝寶塔面板

      執行以下命令,下載并安裝寶塔面板。

      yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
      

      一鍵完成操作系統鏡像源的配置。

      wget http://mirrors.myhuaweicloud.com/repo/mirrors_source.sh && sh mirrors_source.sh
      

      安裝完成后,回顯如下信息:
      image

      posted on 2023-03-10 16:03  JavaCoderPan  閱讀(1005)  評論(4)    收藏  舉報

      導航

      主站蜘蛛池模板: a男人的天堂久久a毛片| 国产suv精品一区二区四| 国产第一区二区三区精品| 玩弄放荡人妻少妇系列| 久久精品国产再热青青青| 亚洲伊人久久综合成人| 欧美大胆老熟妇乱子伦视频| 久久九九日本韩国精品| 91孕妇精品一区二区三区| 久99久热精品免费视频| 吉安县| 亚洲精品综合一区二区在线| 日韩乱码人妻无码中文字幕视频| 亚洲色大成网站WWW永久麻豆| 色吊丝免费av一区二区| 中文字幕一区二区三区久久蜜桃| 国产成人免费午夜在线观看| 北条麻妃一区二区三区av高清| 久久国产自偷自偷免费一区| 美女禁区a级全片免费观看| 日韩激情一区二区三区| 久久综合色最新久久综合色| 97精品伊人久久久大香线蕉| 加勒比无码人妻东京热| 天堂…中文在线最新版在线 | 亚洲精品久久久久久婷婷| 亚洲黄色片一区二区三区| 国产喷水1区2区3区咪咪爱AV| 国产成人av一区二区三区不卡| 瑞金市| 国产成人毛片无码视频软件| 在线免费播放av观看| 精品2020婷婷激情五月| 美女胸18下看禁止免费视频| 久久久久无码精品国产不卡| 亚洲人妻精品中文字幕| 国产AV无码专区亚洲AWWW| 国产成人精品无码免费看| 午夜视频免费试看| 亚洲色欲色欲大片www无码| 中文字幕亚洲无线码在线|