# M2线上部署 开发版里开发好了,就要准备部署到线上去。 首先,你的服务器里得有一个线上版的m2网站。 比如我的是: | 版本 | 路径 | 域名 | | --- | --- | --- | | 开发版 | /var/www/magento2 | magento2demo.texiaoyao.cn | | 线上版 | /var/www/magento2-live | magento2-live.texiaoyao.cn | 如果你没有装线上版本的话,也很好办。 以普通用户`zou`登录。 ## 1,配置好Nginx虚拟主机 参考`配置Nginx虚拟主机`那一章。 在`/etc/nginx/sites-available/magento2`里新增一个`server` ~~~ server { listen 80; server_name magento2-live.texiaoyao.cn; set $MAGE_ROOT /var/www/magento2-live; set $MAGE_MODE production; include /var/www/magento2-live/nginx.conf.sample; error_log /var/log/magento2-live/nginx/error.log; } ~~~ ## 1,拷贝代码 你先创建线上版本目录,比如 ~~~ mkdir /var/www/magento2-live ~~~ 然后把开发版的代码都拷过去。 ~~~ cd /var/www/magento2-live cp /var/www/magento2/* ./ -rf cp /var/www/magento2/.git ./ -rf cp /var/www/magento2/.gitignore ./ ~~~ > 因为我们教程刚开始安装了一个M2网站。 > 放在`/var/www/magento2`里。 ## 2,新建数据库 代码拷过去了,但是数据库还是开发版的,肯定不行, 自己去创建一个数据库,比如`magento2-live`。 再把开发版的数据库dump出来,导入到`magento2-live`里去。 最后,修改`app/etc/env.php`文件。 修改下数据库信息 保存就行。 ## 3,修改core_config_data表 数据库也改好了,是不是万事大吉了呢? 肯定不是,因为是导入的开发版的数据,后台设置的网站url都是开发版的。 所以要改下数据库的core_config_data表,把开发版的域名都改成线上版的域名。 比如我的是: 把 `http://magento2demo.texiaoyao.cn`都改成`http://magento2-live.texiaoyao.cn`。 `https://magento2demo.texiaoyao.cn`都改成`https://magento2-live.texiaoyao.cn`。 ## 4,更新下系统 ~~~ rm -rf var/di/* && rm -rf var/generation/* && rm -rf generated/* php bin/magento setup:upgrade && php bin/magento setup:di:compile ~~~ ## 5,设置成生产模式 ~~~ php bin/magento deploy:mode:set production ~~~ ## 6,测试 浏览器访问域名,看是否显示正常。 这样就ok了,本章课程下面的内容,都在线上版里操作。