寫好的項目如何上線?

寫完的項目如何部署上線呢?

前言:前幾天的文章有寫到虛擬機(jī)的安裝那一塊,配置了nginx,mysql,和php

(一)域名解析及ssl證書的申請

以騰訊云為例:

  1. 進(jìn)入控制臺,域名管理,解析,會進(jìn)入到另外一個頁面


    image.png
  2. 添加記錄
    image.png

    主機(jī)記錄:abc
    記錄類型:A
    線路類型:默認(rèn)
    記錄值:服務(wù)器公網(wǎng)ip
    其他不用改,直接解析
    注:(1)如果你在主機(jī)記錄第一個框中填入了www,代表你解析的是一級域名,一級域名只能綁一個項目,也就是你上線后你的域名需要www.xxxx.com ,
    (2)解析成二級域名,主機(jī)記錄框隨便寫,例如abc,那么訪問就變成了abc.xxxx.com
  3. 申請ssl證書(可要可不要,沒有就是http連接訪問,申請后配置可轉(zhuǎn)換為https訪問)例如:沒有證書:http://abc.xxxxx.com加了證書之后https://abc.xxxx.com
    證書的申請步驟:
    (1) 控制臺,云產(chǎn)品點(diǎn)進(jìn)ssl證書
    image.png

    (2)申請免費(fèi)證書
    image.png

    (3)等待審核,審核完后才能下載到本地
(二)xshell連接服務(wù)器,配置nginx

命令:ssh xxx@xx.xxx.xx.xxx //xxx:線上服務(wù)器用戶名可修改 xx.xxx.xx.xxx:服務(wù)器公網(wǎng)ip 然后會彈出一個框再輸入線上服務(wù)器的密碼
sudo su //管理員權(quán)限
cd /返回根目錄
cd etc/nginx/sites-available/ //進(jìn)入nginx下面
ls
cp default php //php是我隨意定義的
vi php
laravel項目將nginx做如下配置

image.png

詳細(xì)代碼如下:

server {
        listen 80;
        server_name abc.xxxx.com;
        server_tokens off;
        location / {
          return 301 https://$host$request_uri;
        }
}
server {
        listen       443 ssl;
        ssl on;         //開啟證書
        ssl_certificate       /opt/Nginx/abc.crt;    //證書位置
        ssl_certificate_key    /opt/Nginx/abc.key;   //key位置
        root /var/www/abc/public;
        index index.html index.htm index.php index.nginx-debian.html;
        server_name abc.xxxx.com;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ .php$ {
              include snippets/fastcgi-php.conf;
              fastcgi_pass unix:/run/php/php7.2-fpm.sock;
      }
       
}

注意:thinkphp項目與其不同,路由那里需要重寫,默認(rèn)的是將
上面的這一段

 location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

改寫為

#根據(jù)框架需求,配置url重寫
      location / {
              try_files $uri $uri/ =404;
      }

但是url模式不同需要重寫路由,先將將URL_MODEL設(shè)置為2,然后改寫為:

location / {
if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=$1  last;
   break;
    }
 }

注:第二段location可以改寫為:

  location ~ \.php$ {
                try_files $uri /index.php =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

配置完成之后按esc+:鍵輸入wq保存并退出 linux命令vi vim //打開的方式不同 注意一下,q! //強(qiáng)制退出
命令:nginx -t //檢查配置有沒有錯誤
service nginx restart //重啟nginx服務(wù)
命令:cd /
cd var
ls
chmod -R 777 www //給權(quán)限

(三)配置線上數(shù)據(jù)庫
  1. 新建mysql連接


    image.png

    然后點(diǎn)擊ssh


    image.png
  2. 新建數(shù)據(jù)庫 名字與本地一致,然后導(dǎo)入sql文件,刷新就可以看見表了

(四)上傳項目

  1. 將項目打包成zip格式
  2. 打開FileZilla Client軟件,這個網(wǎng)上直接下載很方便的
image.png
  1. 將打包的項目拖到線上站點(diǎn)的/var/www/下面
  2. 將下載的ssl證書解壓打開有一個Nginx的文件夾,打開將文件的長名字改為短名字,與之前nginx證書位置設(shè)置的名字一樣,然后壓縮Nginx文件夾,并拖到/opt/文件夾下面,發(fā)現(xiàn)傳輸失敗
  3. 回到xshell給chmod -R 777 opt權(quán)限,然后再傳輸
  4. linux安裝解壓縮 命令:apt-get install unzip
  5. cd 命令進(jìn)入www 解壓縮unzip xxx;然后給權(quán)限chmod -R 777 xxx
  6. cd命令進(jìn)入opt,解壓縮證書,然后刪除壓縮包
  7. cd 進(jìn)入項目文件 命令:vi .env對env文件里面的本地數(shù)據(jù)改為線上的例如數(shù)據(jù)庫等等其他環(huán)境變量;

(五)測試訪問ok?。。?/h4>

(六)線上線下開啟自動同步:修改線下的代碼讓線上與之同步

點(diǎn)擊Configuration


image.png

做如下配置


image.png

勾選自動上傳
image.png

取消勾選


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容