在阿里云盘配置nginx
要做两个事情, 一个是把一个个人网站的东西, 迁移到公司的服务器上面. 另一个事情是, 公司要在服务器上面配置一个域名.
先说迁移
基本情况
- php网站
- 使用了thinkphp
- 本来用的啥服务器不是特别清楚, 反正本地mamp完全可以跑起来. 建表语句在的.
- 本来没有git控制, 我弄上了, 并且上了github私有项目.
#####迁移步骤
-
ssh登录阿里云盘, 类似
ssh root@121.121.121.121
-
按照服务器规则上传文件夹, 比如: /data/www
-
git相关操作, 这个是2b操作, 文艺操作(自动部署)看后面.
- 在文件夹内git clone. 这个地方要想一下, 如何自动下拉git.
- 而且必须清掉runtime.
- 顺手设置了一下gitignore参考我的blog: [[git忽略ignore]]
- 由于是公司的server, 因此ssh和keychain都是好的, 不需要我设置了:) 挺好. 后面改为私有, 就不好了.
- git一个远程的分支? 参考我的[[2016-06-19-git使用]]
- 在文件夹内git clone. 这个地方要想一下, 如何自动下拉git.
#####配置nginx
-
一般位置: /usr/local/nginx/conf/nginx.conf 可以find/whereis, 这个文件无需修改.
-
赋值一个conf, 在/usr/local/nginx/conf/site-enables目录下.
server_name gwx.xxx.com; #只需要改这两项. 这个是访问网址. root /data/www/xxx/ooo; #这个是根目录.
-
然后浏览器访问gwx.xxx.com, 出现nginx欢迎页, 因为没有重启nginx服务.
/usr/local/nginx/sbin/nginx -s reload
-
然后浏览器访问gwx.xxx.com, 如愿以偿出现报错页面, 因为没有设置db.
- 配置服务器, 我就不讲了. 反正就是加用户,
- 加库,
- 然后再导入数据.
#####尾声
-
然后 git转为私有时出错了. 这个de解决也是2b操作, 文艺操作在后面.
- 解决方式很扯淡, 换成了ssh. 唉.
-
然后就是要改权限, 这是thinkphp特殊的
cd Runtime/
rm * -rf #这个是危险操作, rm之前要ls一下, 以防出错.
chmod 777 Runtime/ #这个必须777, 666都不行, 这货可能不危险么? 这个权限不合理. 要看看nginx的运行权限.
- sftp连接, filezilla或者cyberduck都很好用.
- 如果是filezilla记得指定端口22.
然后这个世界竟然就清净了, 就好了. 当然后面git又搞了一会儿.
- 如果是filezilla记得指定端口22.
git文艺操作, 3步
-
服务器建立一个裸体库.
git init --bare mse.git #mse.git是随便起的名字, 你的裸体库的名字, 自己可以随便起名
-
本地添加这个裸体库作为远程源.
```sh git remote add hujingauto root@121.121.121.121:/data/www/gitm/bareserver/mse.git #hujingauto是一个新的远程源. #root是server的用户名, 不该用root. #这个ip是server地址. #后面这一串地址是之前建立git裸体库时, git提示的. git push hujingauto weixin #推送到hujingauto, 用weixin分支到远程的微信分支, 这是分支提交的方法. ```
-
服务器设置钩子, 自动更新工作目录.
```sh #进入刚刚建立的mse.git/hooks目录, 然后编辑post-receive cd /data/www/gitm/bareserver/mse.git/hooks cp post-receive.sample post-receive #把sample改为配置. vi post-receive#添加最后一行: GIT_WORK_TREE=/data/www/gitm/workd/ git checkout weixin -f ```
-
为了安全可以考虑单独建用户. 对的这是第四步, 不过我没做. 汗……
- 这个有点复杂, 有空再研究.
文艺git之后
会正常吗? 太低估thinkphp了, 一定不正常啊. 提示runtime错误. 哈哈, 又看到这个错误了, 老夫懂的.
mkdir /data/www/gitm/workd/gshock/Application/Runtime
chmod 777 /data/www/gitm/workd/gshock/Application/Runtime
#这个地方必须777, 760, 770,700都不行.
#下一个错误就是显示的内容不正确, 因为要配置.
cd /data/www/gitm/taobao/Application/Common/Conf #在这个目录下面.
cp config_sample.php config.php #需要一个真正的配置文件.
nginx安全配置
- 所谓的中文手册文档太垃圾, 有空下载个新的. 很奇怪nginx.cn在搞啥?
- 另外, 找了一份文档就很好.[ https://segmentfault.com/a/1190000002797601]
- 文件的拥有者和拥有组, 如何调整. 需要调整runtime目录的权限.
- ./nginx -v 查看user组. 这个是胡说八道, -v是version, 查看版本号的.
- 烂泥有解释: [http://www.ilanni.com/?p=7438] 但是挺复杂的, 不搞了.