码迷,mamicode.com
首页 > 其他好文 > 详细

服务器代码部署篇

时间:2018-07-31 19:16:01      阅读:539      评论:0      收藏:0      [点我收藏+]

标签:pass   强制   配置文件   --   提示   跨域   根据   安装nginx   svg   

技术分享图片

Linux下, 远程登录脚本配置, git 安装配置, node 安装, mysql 安装配置,nginx 安装配置,从0到1
这篇文章只讲讲部署吧. 写代码没什么好说的. 网上有直播写代码的..

服务器 aliyun

购买服务器, 服务器备案, 拿到ip, 用户,密码

域名

购买域名,然后去备案, 拿到备案号, 把域名解析到对应的IP 上

环境

Telnet 脚本配置(Mac & Linux)

#!/usr/bin/expect -f
set ip 8.8.8.8 #服务器IP地址
set password 123456 #登录密码
set timeout 10 #超时时间
set user root #登录帐号

spawn ssh $user@$ip
expect {
    "*yes/no" { send "yes"; exp_continue}
    "*password:" { send "$password" }
}
interact

登录提示
@@@@@@@@@@@
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
当服务器相关数据有变动的时候,ssh 无法登录,只要清除本地的~/.ssh/known_hsots 文件相关的删除即可

Git
$ yum -y install git  //安装git
$ git –-version  //验证
关于git clone 权限的问题
$ cd ~/.ssh
#如果没有密钥则不会有此文件夹,有则备份删除
#生成密钥:
$ ssh-keygen -t rsa -C "dev@chuchur.com"

# 按3个回车,密码为空。
#最后得到了两个文件:id_rsa和id_rsa.pub

#添加密钥到ssh:
$ ssh-add ~/.ssh/id_rsa (需要之前输入密码.)

# id_rsa.pub  添加到gitlib or github

Git忽略规则和.gitignore规则不生效的解决办法

git rm -r --cached .

关于git一些常用的命令

#保存密码到本地
$ git config credential.helper store
#创建远程分支
$ git checkout -b dev #新建本地分支
$ git push origin dev:dev #push到远程分支
#删除分支
$ git branch -D dev #删除本地分支 
$ git push origin :dev #删除远程分支 ,push一个空到分支到远程分支上
$ git push origin --delete dev #删除远程分支
#切换分支
$ git branch -a #查看分支列表,看不到最新分支,执行git pull
$ git checkout -b dev origin/dev #把远程的分支搞到本地并切换
$ git checkout dev # 切换到dev
#放弃清理本地更改
$ git checkout . && git clean -xdf
#缓存区操作
$ git add <file> | git add -A  #加入到缓存区
$ git reset HEAD <file>  #缓存区退回工作区,没有commit之前,已经git add
$ git checkout -- <file> | git checkout . #丢弃工作区修改,没有git add
#版本退回
$ git reflog #查看commit 版本
$ git reset --soft <版本号> #切回版本,本地代码不会变,只是改变版本号
$ git reset --hard <版本号> #切回版本,本地会改变,版本号也会变,慎用
$ git reset --soft HEAD~1  #直接切回上一个版本
$ git rm --cached <文件名> | git clean -xdf # 丢弃本地或者其他
$ git push origin <分支> --force #加上--force 覆盖远程分支,因为退回版本之后本地版本比线上版本低,无法提交
Node
$ wget https://npm.taobao.org/mirrors/node/v8.7.0/node-v8.7.0-linux-x64.tar.gz //下载git包

$ tar -zxvf node-v8.7.0-linux-x64.tar.gz  // 解压

$ vi /ect/profile  //编辑配置
#最后一行加入,路径为解压相对路径
export PATH=/node-v8.7.0-linux-x64/bin:$PATH  

$ source /etc/profile 应用
$ node -v //验证
#npm 注册淘宝镜像
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
#yarn 

yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
Mysql
#1 下载mysql的repo源
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

#2 安装mysql-community-release-el7-5.noarch.rpm包
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

#假如报错的话, 先查询下是不是已经安装过了
$ rpm -qa | grep mysql
#有的话干掉他  --nodeps 强制卸载
$ rpm -e xxx (--nodeps) 

#3 安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo

#4 安装mysql
$ sudo yum install mysql-server
$ service mysql start #启动
#根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。

#查看版本
$mysqld -V 
#5 重置密码
#重置密码前,首先要登录

$ mysql -u root
mysql > use mysql;
mysql > update user set password=password(‘123456‘) where user=‘root‘;
mysql > flush privileges; exit;

#6 远程登录

需要更改权限才能实现远程连接MYSQL数据库  

$ mysql -h localhost -uroot -p
mysql> use mysql;   #此DB存放MySQL的各种配置信息
mysql> select host,user from user; #查看用户的权限情况
mysql> select host, user, password from user;
mysql> Grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘123456‘ with grant option;
#(%表示是所有的外部机器,如果指定某一台机,就将%改为相应的机器名;‘root’则是指要使用的用户名,‘123456‘为密码)

mysql> flush privileges; #运行此句才生效,或者重启MySQL

最后一步, 在服务器防火墙配置加入规则 开放3306 端口.

Nginx
$ yum -y install nginx  #安装nginx
$ nginx -v  #查看版本 
$ sudo nginx  #开启服务

nginx.pid 失败问题
执行
sudo nginx -c /usr/local/etc/nginx/nginx.conf
sudo nginx -s reload #重启
sudo nginx -t #测试配置文件

nginx 转发node 配置
server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  chuchur.com www.chuchur.com;
    location / {
        proxy_pass http://127.0.0.1:7001;
        proxy_redirect  off;
        proxy_set_header        $Host  sync;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_send_timeout      300;
        proxy_read_timeout      300;
    }
}

nginx 如何开启https 和http2 (传送门)

ningx css 字体的支持,需要修改mime.types
加入以下代码

application/octet-stream eot;
application/font-sfnt ttf;
application/font-otf otf;
application/font-woff2 woff2;
application/font-woff woff;

如果是跨域的话,还需要做跨域配置

location ~* .(eot|ttf|woff|svg|otf)$ {
  add_header Access-Control-Allow-Origin *;
}

[完]

服务器代码部署篇

标签:pass   强制   配置文件   --   提示   跨域   根据   安装nginx   svg   

原文地址:https://www.cnblogs.com/chuchur/p/9396966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!