Git Product home page Git Product logo

aliyun-project's People

Stargazers

 avatar

Watchers

 avatar  avatar

aliyun-project's Issues

阿里云方面的配置(node)-linux

首先 远程登录
ssh [email protected]
接下来输入密码
进入home目录下 可创建自己的目录
接下来就是安装一系列的环境了 如node环境,跟在mac上不同的是,linux上是没有brew的,所以我们不能用brew下载nvm,可以参考https://github.com/creationix/nvm 来安装nvm
主要就是curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
他会帮你添加环境变量,但是要立即生效就要source ~/.bashrc然后nvm就安装好了,可以安装多个node版本切换试试

安装mongodb
__ 8jacxh 4 _8 _546_hw

第一步,配置一个新的yum源,通过创建一个repo文件搞定
vim /etc/yum.repos.d/mongodb-org-3.0.repo
写入
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1

第二步,sudo yum install -y mongodb-org

PM2 下载
https://github.com/Unitech/pm2
npm install pm2 -g

   $ npm install pm2 -g     # 命令行安装 pm2 
   $ pm2 start app.js -i 4  # 后台运行pm2,启动4个app.js 
                     # 也可以把'max' 参数传递给 start
                     # 正确的进程数目依赖于Cpu的核心数目
   $ pm2 start app.js --name my-api # 命名进程
   $ pm2 list               # 显示所有进程状态
   $ pm2 monit              # 监视所有进程
   $ pm2 logs               # 显示所有进程日志
   $ pm2 stop all           # 停止所有进程
   $ pm2 restart all        # 重启所有进程
   $ pm2 reload all         # 0 秒停机重载进程 (用于 NETWORKED 进程)
   $ pm2 stop 0             # 停止指定的进程
   $ pm2 restart 0          # 重启指定的进程
   $ pm2 startup            # 产生 init 脚本 保持进程活着
   $ pm2 web                # 运行健壮的 computer API endpoint (http://localhost:9615)
   $ pm2 delete 0           # 杀死指定的进程
   $ pm2 delete all         # 杀死全部进程

简单的scp使用
scp /home/daisy/full.tar.gz [email protected]:/home/root(当前 to 远程)
scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/(远程 to 当前)

公网密码更改 在阿里云上找到实例 点击重置密码
重置密码之后 要重启服务器

然后ssh 公网 输入密码 但是 应该会进不去 Warning: Permanently added '120.26.207.101' (ECDSA) to the list of known hosts.
清理一下你的 ~/.ssh/known_hosts 里面和公网ip有关的东东
如果还是不行 修改/etc/ssh/sshd-config文件,将其中的PermitRootLogin no修改为yes,PubkeyAuthentication yes修改为no,AuthorizedKeysFile .ssh/authorized_keys前面加上#屏蔽掉,PasswordAuthentication no修改为yes就可以了。

阿里云 阿里云centos6.5+安装nginx

1.想在 CentOS 系统上安装 Nginx ,你得先去添加一个资源库,像这样:
vim /etc/yum.repos.d/nginx.repo
使用 vim 命令去打开 /etc/yum.repos.d/nginx.repo ,如果 nginx.repo 不存在,就会去创建一个这样的文件,打开以后按一下小 i 键,进入编辑模式,然后复制粘贴下面这几行代码,完成以后按 esc 键退出,再输入 :wq (保存并退出)
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

完成以后,我们就可以使用 yum 命令去安装 nginx 了,像这样:yum install nginx

安装好以后测试一下 nginx 服务:service nginx status
应该会返回:nginx is stopped (nginx 已停止)

再测试一下 nginx 的配置文件:nginx -t
应该会返回:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
... syntax is ok,... test is successful,说明配置文件没问题,同时这个结果里你可以找到 nginx 的配 置文件 nginx.conf 所在的位置。

操纵服务,可以使用使用 service 命令,它可以启动(start),重启(restart),或停止服务(stop),比如要启动 nginx 服务:service nginx start

服务启动以后,你就可以在浏览器上使用服务器的 IP 地址,或者指向这个地址的域名访问服务器指定的目录了。你会看到类似下面的这些文字。
Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.

配置 nginx 虚拟主机
安装完 nginx 以后,第一件想到的事应该就是去创建虚拟主机,虚拟主机允许我们在同一台服务器上运行多个网站,我们可以为不同的域名绑定不同的目录,访问这个域名的时候,会打开对应目录里面的东西。下面来看一下为 nginx 配置虚拟主机。先进入到 nginx 配置文件目录:
cd /etc/nginx/conf.d
复制这个目录里的 default.conf ,复制以后的名字可以使用你的虚拟主机名字。比如创建一个 nginx.ninghao.net 的虚拟主机。复制文件可以使用 cp 命令,像这样:
cp default.conf nginx.ninghao.net.conf
再去编辑一下这个复制以后的配置文件,可以使用 vim 命令:
vim nginx.ninghao.net.conf
你会看到像这样的代码:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
...
}
erver_name 就是主机名,也就是跟这个虚拟主机绑定在一块儿的域名,要事先把 nginx.ninghao.net 指向了服务器Ip,这个虚拟主机就是为它准备的,所以,server_name 后面的东西就是 nginx.ninghao.net 。紧接着 server_name 下面可以是一个 root,就是这个虚拟主机的根目录,也就是网站所在的目录。比如我们要把 nginx.ninghao.net 这个网站的文件放在 /home/www/nginx.ninghao.net 下面,那么这个 root 就是这个路径。

然后去掉 location / 里面的 root 这行代码。再在 index 后面加上一种索引文件名,也就是默认打开的文件,这里设定为index.html,稍后再在该目录下创建index.html就可以
server {
listen 80;
server_name nginx.ninghao.net;
root /home/www/nginx.ninghao.net;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;

location / {
index index.php index.html index.htm;
}
...
}

最后 ps -axu | grep nginx
kill 调nginx的进程
nginx -s quit
server nginx start 就可以再url上输入nginx.ninghao.net 也可以是你自己的域名

安装mysql

CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。
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
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

3.安装mysql
$ sudo yum install mysql-server
根据提示安装就可以了,不过安装完成后没有密码,需要重置密码

4.重置mysql密码
$ mysql -u root
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
$ sudo chown -R root:root /var/lib/mysql
重启mysql服务
$ service mysqld restart

接下来登录重置密码:
$ mysql -u root //直接回车进入mysql控制台
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;

4.如何开启MySQL的远程帐号-1)首先以 root 帐户登陆 MySQL

> MySQL -u root -p123456                 (123456 为 root 用户的密码。)

如何开启MySQL的远程帐号-2)创建远程登陆用户并授权
> grant all PRIVILEGES on test_db.* to root@'192.168.1.101' identified by '123456';
上面的语句表示将 test_db 数据库的所有权限授权给 root 这个用户,允许 root 用户在 192.168.1.101 这个 IP 进行远程登陆,并设置 root 用户的密码为 123456 。

下面逐一分析所有的参数:

all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。

test_db.* 表示上面的权限是针对于哪个表的,test_db指的是数据库,后面的 * 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“.”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。

root 表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。

192.168.1.101 表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。

123456 为用户的密码。

如何开启MySQL的远程帐号-3)执行了上面的语句后,再执行下面的语句,方可立即生效。
> flush privileges;

未完待续。。。

阿里云centOs7.0安装gitlab

Gitlab是一个用Ruby on Rails开发的开源项目管理程序,可以通过WEB界面进行访问公开的或者私人项目。它和Github有类似的功能,能够浏览源代码,管理缺陷和注释。

下面介绍在centos7上安装gitlab的方法,gitlab在不同的操作系统中安装的方法不一样,在同一种操作系统不同版本上安装的方法也不一样,cengos6和centos7的安装方法也不一样。

1 下载包和安装

useradd abc

随便添加一个普通用户,别添加git用户,查看/etc/passwd文件,如果发现其中有git用户,用userdel命令删除,接下来用新添加的用户完成下列操作:

curl -O https://downloads-packages.s3.amazonaws.com/centos-7.0.1406/gitlab-7.4.3_omnibus.5.1.0.ci-1.el7.x86_64.rpm

如果发现下载速度慢,将下载地址复制到迅雷中下载,然后将下载的包copy到centos7系统中。

sudo yum install git.x86_64

sudo yum install openssh-server

sudo systemctl enable sshd

sudo systemctl start sshd

sudo yum install postfix

sudo systemctl enable postfix

sudo systemctl start postfix

sudo rpm -i gitlab-7.4.3_omnibus.5.1.0.ci-1.el7.x86_64.rpm

2 配置启动gitlab

sudo gitlab-ctl reconfigure

sudo firewall-cmd --permanent --add-service=http # open up the firewall for HTTP and SSH requests

sudo systemctl reload firewalld

打开浏览器,输入部署gitlab的centos7的ip或者hostname,进入gitlab的登录界面,下面是用户名和密码:

Username: root

Password: 5iveL!fe

第一次登入gitlab会提示修改密码。

3 常见问题

3.1 Error executing action

在执行配置命令“sudo gitlab-ctl reconfigure”过程中出现“Error executing action create on resource 'user[git]'”的错误,是因为系统中在配置gitlab时已经存在git用户,git用户的一些配置和gitlab要求的不符,最简单的解决方式是删除git用户,重新执行配置命令,如下所示:

userdel git

sudo gitlab-ctl reconfigure

3.2 URI::InvalidURIError

在执行配置命令“sudo gitlab-ctl reconfigure”过程中出现下列错误:

Recipe Compile Error in /opt/gitlab/embedded/cookbooks/gitlab/recipes/default.rb

URI::InvalidURIError


bad URI(is not URI?): ${external_url}

Cookbook Trace:


/opt/gitlab/embedded/cookbooks/gitlab/libraries/gitlab.rb:92:in `parse_external_url'

/opt/gitlab/embedded/cookbooks/gitlab/libraries/gitlab.rb:191:in `generate_config'

/opt/gitlab/embedded/cookbooks/gitlab/recipes/default.rb:34:in `from_file'

是因为/etc/gitlab/gitlab.rb文件中的内容是:

external_url 'hostname1'

将其修改为:

external_url='hostname1'

即可,只需要在原来的配置项中添加个等号即可,为了避免域名引起的问题,也可以直接配置ip,如下所示:

external_url='192.168.1.49'。

3.3 command not found

在使用git push命令过程中出现下列错误:

sh:git-receive-pack:command not found

sh:git-upload-pack:command not found

是因为安装gitlab的centos7上没有安装git或者没有将git的执行文件添加到PATH变量中。

4.端口问题
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
修改:

server {
listen *:80;
server_name ithomer;

为:

server {
listen *:8080;
server_name 118.29.237.28;

重启 gitlab 内嵌的 nginx

/opt/gitlab/embedded/sbin/nginx -p /var/opt/gitlab/nginx(运行无效 不知道为啥)

5 .git clone问题
/opt/gitlab/embedded/conf/nginx.conf

6 . git clone 不了

另外,在建立新的仓库后,其提示信息会含有127.0.0.1或者域名(在其它服务器上不能访问),可以在/var/opt/gitlab/gitlab-rails/etc/gitlab.yml文件的GitLab settings一栏修改host为ip或域名。然后执行下面命令就可以了。
gitlab-ctl restart

关于 gitlab-ctl 的使用
gitlab-ctl help 查看可用指令

nginx配置

Nginx配置文件详细说明

在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络.

运行用户

user www-data;

启动进程,通常设置成和cpu的数量相等

worker_processes 1;

全局错误日志及PID文件

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

工作模式及连接数上限

events {
use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
worker_connections 1024;#单个后台worker process进程的最大并发链接数
# multi_accept on;
}

设定http服务器,利用它的反向代理功能提供负载均衡支持

http {
#设定mime类型,类型由mime.type文件定义
include /etc/nginx/mime.types;
default_type application/octet-stream;
#设定日志格式
access_log /var/log/nginx/access.log;

#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
#必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
sendfile        on;
#tcp_nopush     on;

#连接超时时间
#keepalive_timeout  0;
keepalive_timeout  65;
tcp_nodelay        on;

#开启gzip压缩
gzip  on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";

#设定请求缓冲
client_header_buffer_size    1k;
large_client_header_buffers  4 4k;

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

#设定负载均衡的服务器列表
 upstream mysvr {
#weigth参数表示权值,权值越高被分配到的几率越大
#本机上的Squid开启3128端口
server 192.168.8.1:3128 weight=5;
server 192.168.8.2:80  weight=1;
server 192.168.8.3:80  weight=6;
}

server {
#侦听80端口
listen 80;
#定义使用www.xx.com访问
server_name www.xx.com;

    #设定本虚拟主机的访问日志
    access_log  logs/www.xx.com.access.log  main;

#默认请求
location / {
      root   /root;      #定义服务器的默认网站根目录位置
      index index.php index.html index.htm;   #定义首页索引文件的名称

      fastcgi_pass  www.xx.com;
     fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name; 
      include /etc/nginx/fastcgi_params;
    }

# 定义错误提示页面
error_page   500 502 503 504 /50x.html;  
    location = /50x.html {
    root   /root;
}

#静态文件,nginx自己处理
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
    root /var/www/virtual/htdocs;
    #过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。
    expires 30d;
}
#PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
location ~ \.php$ {
    root /root;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;
    include fastcgi_params;
}
#设定查看Nginx状态的地址
location /NginxStatus {
    stub_status            on;
    access_log              on;
    auth_basic              "NginxStatus";
    auth_basic_user_file  conf/htpasswd;
}
#禁止访问 .htxxx 文件
location ~ /\.ht {
    deny all;
}

 }

}

以上是一些基本的配置,使用Nginx最大的好处就是负载均衡

如果要使用负载均衡的话,可以修改配置http节点如下:

设定http服务器,利用它的反向代理功能提供负载均衡支持

http {
#设定mime类型,类型由mime.type文件定义
include /etc/nginx/mime.types;
default_type application/octet-stream;
#设定日志格式
access_log /var/log/nginx/access.log;

#省略上文有的一些配置节点

#。。。。。。。。。。

#设定负载均衡的服务器列表
 upstream mysvr {
#weigth参数表示权值,权值越高被分配到的几率越大
server 192.168.8.1x:3128 weight=5;#本机上的Squid开启3128端口
server 192.168.8.2x:80  weight=1;
server 192.168.8.3x:80  weight=6;
}

upstream mysvr2 {
#weigth参数表示权值,权值越高被分配到的几率越大

server 192.168.8.x:80  weight=1;
server 192.168.8.x:80  weight=6;
}

#第一个虚拟服务器
server {
#侦听192.168.8.x的80端口
listen 80;
server_name 192.168.8.x;

  #对aspx后缀的进行负载均衡请求
location ~ .*\.aspx$ {

     root   /root;      #定义服务器的默认网站根目录位置
      index index.php index.html index.htm;   #定义首页索引文件的名称

      proxy_pass  http://mysvr ;#请求转向mysvr 定义的服务器列表

      #以下是一些反向代理的配置可删除.

      proxy_redirect off;

      #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      client_max_body_size 10m;    #允许客户端请求的最大单文件字节数
      client_body_buffer_size 128k;  #缓冲区代理缓冲用户端请求的最大字节数,
      proxy_connect_timeout 90;  #nginx跟后端服务器连接超时时间(代理连接超时)
      proxy_send_timeout 90;        #后端服务器数据回传时间(代理发送超时)
      proxy_read_timeout 90;         #连接成功后,后端服务器响应时间(代理接收超时)
      proxy_buffer_size 4k;             #设置代理服务器(nginx)保存用户头信息的缓冲区大小
      proxy_buffers 4 32k;               #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
      proxy_busy_buffers_size 64k;    #高负荷下缓冲大小(proxy_buffers*2)
      proxy_temp_file_write_size 64k;  #设定缓存文件夹大小,大于这个值,将从upstream服务器传

   }

 }

}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.