準備工作: 1.首先進入https://ecs.console.aliyun.com/ 領取或者購買一臺簡單的ECS雲伺服器。 進入網站註冊登錄後拉到頁面最下麵或者頂部搜索免費雲伺服器領取立即試用 ,當然富哥花錢買一臺伺服器也行。 創建完了以後可以進入雲服務ECS工作台,然後就是以下界面 點擊右邊的 ...
準備工作:
1.首先進入https://ecs.console.aliyun.com/ 領取或者購買一臺簡單的ECS雲伺服器。
進入網站註冊登錄後拉到頁面最下麵或者頂部搜索免費雲伺服器領取立即試用 ,當然富哥花錢買一臺伺服器也行。
創建完了以後可以進入雲服務ECS工作台,然後就是以下界面
點擊右邊的實例進入到實例界面 會預設生成一個實例(也可以自己嘗試創建新的實例)
給當前的實例修改成自己想要保存的實例名稱和密碼(自己要記住後面需要用到)
然後點擊左側的網路與安全>安全組並且進入創建一條80埠的安全組規則並保存
回到剛纔的實例列表點擊遠程連接並通過Workbench遠程連接(其他方式可以自己嘗試),輸入前面自己修改的實例名稱+密碼登錄。
會進入到一個黑色界面類似控制台的頁面
有兩個比較重要的模板需要使用 右上角的文件>打開新文件樹以及會話>新終端
一、在右側的新終端搭建我們的Docker CE(社區版)企業版則為Docker EE。
首先安裝Docker依賴庫
yum install -y yum-utils device-mapper-persistent-data lvm2
添加Docker CE的軟體源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安裝Docker CE
yum makecache fast
yum -y install docker-ce
最後啟動Docker服務
systemctl start docker
額外的兩個Docker常用命令
重新載入服務配置
systemctl daemon-reload
重啟Docker服務
systemctl restart docker
二、使用Docker安裝Nginx服務
查看Docker鏡像倉庫中Nginx的可用版本
docker search nginx
拉取最新版的Nginx鏡像
docker pull nginx:latest
查看本地鏡像
docker images
運行容器
docker run --name nginx-test -p 8080:80 -d nginx
命令參數說明:
--name nginx-test:容器名稱。
-p 8080:80: 埠進行映射,將本地8080埠映射到容器內部的80埠。
-d nginx: 設置容器在後臺一直運行。
然後在瀏覽器輸入http://<ECS公網地址>:8080打開Nginx服務。代表Nginx服務已經正常運行。
附:參考配置地址:https://developer.aliyun.com/article/946460
三、單獨安裝Nginx依賴並使用Naginx
安裝依賴包
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
下載並解壓安裝包
//cd進入/usr/local文件目錄 cd /usr/local //創建一個nginx文件夾 mkdir nginx //cd進入nginx文件 cd nginx //下載tar包 wget http://nginx.org/download/nginx-1.13.7.tar.gz //下載好進行解壓命令 tar -xvf nginx-1.13.7.tar.gz
安裝Nginx
//進入nginx目錄 cd /usr/local/nginx //進入目錄 cd nginx-1.13.7 //執行命令 考慮到後續安裝ssl證書 添加兩個模塊 ./configure --with-http_stub_status_module --with-http_ssl_module //執行make命令 make //執行make install命令 make install
註意make有可能會出現很多報錯的情況
簡單列舉幾項解決方案(其他的自行百度)
第一種錯誤
src/os/unix/ngx_user.c: In function ‘ngx_libc_crypt’:
src/os/unix/ngx_user.c:36:7: error: ‘struct crypt_data’ has no member named ‘current_salt’
36 | cd.current_salt[0] = ~salt[0];
| ^
make[1]: *** [objs/Makefile:797:objs/src/os/unix/ngx_user.o] 錯誤 1
make[1]: 離開目錄“/home/zyz/nginx-1.12.0/nginx-1.12.0”
make: *** [Makefile:8:build] 錯誤 2
解決方案
打開文件樹列表進入/usc/local/nginx/nginx-1.13.7/src/os/unix/ngx_user.c文件 註銷 cd.current_salt[0] = ~salt[0];保存
第二種錯誤
src/http/ngx_http_script.c: 在函數‘ngx_http_script_add_full_name_code’中:
src/http/ngx_http_script.c:1296:18: 錯誤:cast between incompatible function types from ‘size_t (*)(ngx_http_script_engine_t *)’ {或稱 ‘long unsigned int (*)(struct <匿名> *)’} to ‘void (*)(ngx_http_script_engine_t *)’ {或稱 ‘void (*)(struct <匿名> *)’} [-Werror=cast-function-type]
code->code = (ngx_http_script_code_pt) ngx_http_script_full_name_len_code;
^
cc1:所有的警告都被當作是錯誤
make[1]: *** [objs/Makefile:893:objs/src/http/ngx_http_script.o] 錯誤 1
make[1]: 離開目錄“/usr/download/nginx-1.14.1”
make: *** [Makefile:8:build] 錯誤 2
解決方案
打開文件樹列表進入/usc/local/nginx/nginx-1.13.7/objs/Makefile文件
CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g
改為
CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -g
如何啟動Nginx服務
輸入命令
cd /usr/local/nginx/sbin
到目錄執行:
./nginx
第三種錯誤(Nginx啟動錯誤)
Nginx啟動時提示nginx: [emerg] still could not bind()
首先查看Nginx配置文件的埠為80埠
netstat -ntlp|grep 80
如果能查到有tcp的數據並且最後是6****/nginx:worker
輸入kill關閉占用的進程直到查詢不到占用情況
最後輸入重啟Nginx就不會報錯了
./nginx
附簡單的nginx命令
./nginx 啟動 ./nginx -s stop 關閉 ./nginx -s reload 重啟
詳細命令參考:https://blog.csdn.net/GyaoG/article/details/118054247
四、上傳打包好的前端web項目或者網址
先下載一個叫FileZilla免費開源的FTP客戶端軟體。
下載地址:http://soft.ykmjk.com/sinfo/104695380_4002451.html
下載好並安裝打開軟體
輸入阿裡雲的公網IP以及用戶名和密碼 埠進行連接,連接成功後會出現上面的左右兩邊的文件列表
左側為本地的站點文件(找到你需要上傳的網址或者dist打包項目)
右側為雲服務ECS的的文件列表(找到/usc/local/nginx/html目錄創建你的文件夾並將打包好的文件內容上傳到裡面,例如文件名appyj)
然後就可以通過瀏覽器打開http://8.134.**.***/appyj 就可以訪問項目了(這裡的IP是雲伺服器的公網IP)
這裡只上傳了vue項目打包後的文件 上傳多個項目就多新建目錄並上傳就可以了。
不同的埠使用還在研究 有大佬也可以告知一下。。。(寫的有點隨意,只作為個人案例記錄,僅供參考)。