项目上线mysql怎么传_写好的项目如何上线?

写完的项目如何部署上线呢?

前言:前几天的文章有写到虚拟机的安装那一块,配置了nginx,mysql,和php

(一)域名解析及ssl证书的申请

以腾讯云为例:

进入控制台,域名管理,解析,会进入到另外一个页面

cf342cbd434b?utm_campaign=maleskine

image.png

添加记录

cf342cbd434b?utm_campaign=maleskine

image.png

主机记录:abc

记录类型:A

线路类型:默认

记录值:服务器公网ip

其他不用改,直接解析

注:(1)如果你在主机记录第一个框中填入了www,代表你解析的是一级域名,一级域名只能绑一个项目,也就是你上线后你的域名需要www.xxxx.com ,

(2)解析成二级域名,主机记录框随便写,例如abc,那么访问就变成了abc.xxxx.com

申请ssl证书(可要可不要,没有就是http连接访问,申请后配置可转换为https访问)例如:没有证书:http://abc.xxxxx.com加了证书之后https://abc.xxxx.com

证书的申请步骤:

(1) 控制台,云产品点进ssl证书

cf342cbd434b?utm_campaign=maleskine

image.png

(2)申请免费证书

cf342cbd434b?utm_campaign=maleskine

image.png

(3)等待审核,审核完后才能下载到本地

(二)xshell连接服务器,配置nginx

命令:ssh xxx@xx.xxx.xx.xxx //xxx:线上服务器用户名可修改 xx.xxx.xx.xxx:服务器公网ip 然后会弹出一个框再输入线上服务器的密码

sudo su //管理员权限

cd /返回根目录

cd etc/nginx/sites-available/ //进入nginx下面

ls

cp default php //php是我随意定义的

vi php

laravel项目将nginx做如下配置

cf342cbd434b?utm_campaign=maleskine

image.png

详细代码如下:

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项目与其不同,路由那里需要重写,默认的是将

上面的这一段

location / {

try_files $uri $uri/ /index.php?$query_string;

}

改写为

#根据框架需求,配置url重写

location / {

try_files $uri $uri/ =404;

}

但是url模式不同需要重写路由,先将将URL_MODEL设置为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! //强制退出

命令:nginx -t //检查配置有没有错误

service nginx restart //重启nginx服务

命令:cd /

cd var

ls

chmod -R 777 www //给权限

(三)配置线上数据库

新建mysql连接

cf342cbd434b?utm_campaign=maleskine

image.png

然后点击ssh

cf342cbd434b?utm_campaign=maleskine

image.png

新建数据库 名字与本地一致,然后导入sql文件,刷新就可以看见表了

(四)上传项目

将项目打包成zip格式

打开FileZilla Client软件,这个网上直接下载很方便的

cf342cbd434b?utm_campaign=maleskine

image.png

将打包的项目拖到线上站点的/var/www/下面

将下载的ssl证书解压打开有一个Nginx的文件夹,打开将文件的长名字改为短名字,与之前nginx证书位置设置的名字一样,然后压缩Nginx文件夹,并拖到/opt/文件夹下面,发现传输失败

回到xshell给chmod -R 777 opt权限,然后再传输

linux安装解压缩 命令:apt-get install unzip

cd 命令进入www 解压缩unzip xxx;然后给权限chmod -R 777 xxx

cd命令进入opt,解压缩证书,然后删除压缩包

cd 进入项目文件 命令:vi .env对env文件里面的本地数据改为线上的例如数据库等等其他环境变量;

(五)测试访问ok!!!

(六)线上线下开启自动同步:修改线下的代码让线上与之同步

点击Configuration

cf342cbd434b?utm_campaign=maleskine

image.png

做如下配置

cf342cbd434b?utm_campaign=maleskine

image.png

勾选自动上传

cf342cbd434b?utm_campaign=maleskine

image.png

取消勾选

cf342cbd434b?utm_campaign=maleskine

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值