「 衣调 」阿里云部署记录
「 衣调 」阿里云部署记录
今天完成了「 衣调 」 公众号的项目部署,记录了一些操作,和大家分享。
- 服务器: 阿里云ESC
- 环境: Ubuntu + Apache/2.4.7 + PHP/5.5.9 + Mysql
- 项目: 前端 Vue1.0 + 后端 Laravel
STEP
- 登录阿里云服务器: ssh root@server_ip -p 22
-
进入到webserver文件夹后clone 阿里云code仓库中的代码
我在执行git clone时,报错提示没有权限,这是因为缺少ssh密钥的原因,应将自己生成的密钥添加到远程git仓库密钥管理中去,具体步骤如下:
SSH key 可以让你在你的电脑和Code服务器之间建立安全的加密连接。 先执行以下语句来判断是否已经存在本地公钥:
cat ~/.ssh/id_rsa.pub
如果你看到一长串以 ssh-rsa或 ssh-dsa开头的字符串, 你可以跳过 ssh-keygen的步骤。 提示: 最好的情况是一个密码对应一个ssh key,但是那不是必须的。你完全可以跳过创建密码这个步骤。请记住设置的密码并不能被修改或获取。 你可以按如下命令来生成ssh key:
ssh-keygen -t rsa -C "账户"
这个指令会要求你提供一个位置和文件名去存放键值对和密码,你可以点击Enter键去使用默认值。 用以下命令获取你生成的公钥:
cat ~/.ssh/id_rsa.pub
复制这个公钥放到你的个人设置中的SSH/My SSH Keys下,请完整拷贝从ssh-开始直到你的用户名和主机名为止的内容。 如果打算拷贝你的公钥到你的粘贴板下,请参考你的操作系统使用以下的命令:
Windows:
clip < ~/.ssh/id_rsa.pub
Mac:
pbcopy < ~/.ssh/id_rsa.pub
GNU/Linux (requires xclip):
xclip -sel clip < ~/.ssh/id_rsa.pub
把ssh keys 添加后就可以clone下远程仓库的代码 (默认拉取master分支)
-
根据项目需求配置虚拟主机
当开始去操作时才发现服务器上的apache目录结构和我本地apache的目录结构并不一样,以至于浪费了比较多的时间,一直在想为什么没有httpd.conf,后来在一篇博文中找到了答案 @博文链接 。
-
vi /etc/apache2/sites-available/newhosts.conf
<VirtualHost *:80> ServerName www.name.com DocumentRoot "/var/www/html/xxx/public/" <Directory "/var/www/html/xxx/public/"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all DirectoryIndex index.html RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) index.html </Directory> </VirtualHost>
-
将sites_available链接到sites_enabled文件夹中
sudo ln -s /etc/apache2/sites-available/newhosts.conf /etc/apache2/sites-enabled/hosts.conf
-
重新启动apache
sudo /etc/init.d/apache2 restart
-
-
相应文件夹权限赋值
- storage文件夹需写入权限
- bootstrap/cache文件夹需写入权限
- 导入数据库