Linux:系统的相关配置

602 阅读5分钟

一、用户的创建与python3.6环境的安装

  1. 新的虚拟机或服务器,首先添加用户:useradd -m ice

  2. 为用户添加密码:passwd ice

  3. 新建的用户不能使用sudo, 为创建的普通用户添加sudo权限:

    usermod -a -G adm wcy
    usermod -a -G sudo wcy
    vim /etc/sudoers 修改用户权限
    
  4. 修改~/.vimrc配置

    syntax on
    set nu
    set autoindent
    set smartindent
    set tabstop=4
    set shiftwidth=4
    set showmatch
    set ruler
    set cindent
    set background=dark
    set mouse=a
    set mouse=h
    
  5. 安装python3.6

    sudo apt-get update
    sudo apt-get install software-properties-common
    sudo add-apt-repository ppa:jonathonf/python-3.6
    sudo apt-get update
    sudo apt-get install python3.6
    cd /usr/bin
    ls | grep python
    sudo rm python
    sudo ln -s python3.6 python
    sudo apt-get install python3-pip
    pip --version
    sudo python pip install --upgrade pip
    pip --version
    
  6. 安装虚拟环境

    sudo pip install virtualenv
    sudo pip install virtualenvwrapper
    mkdir  ~/.virtualenvs
    sudo vim  ~/.bashrc 
        添加export WORKON_HOME=$HOME/.virtualenvs
        source /usr/local/bin/virtualenvwrapper.sh
    

二、安装MySQL

  1. 安装过程中输入用户名和密码:

    sudo apt-get install mysql-server 
    
  2. 登录数据库:

    sudo mysql -u root -p
    
  3. 开启root用户的全称访问权限

    mysql –u root –p
    use mysql;
    update user set host = '%' where user = 'root';
    grant all privileges on *.* to 'root'@'%' identified by '你的密码';
    flush privileges;
    quit;
    
  4. 修改my.conf中的ip绑定

    sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    将bind-address = 127.0.0.1改为0.0.0.0
    保存退出
    
  5. 重启服务:

    sudo service mysql restart
    

三、安装mongodb

  1. 远程上传至服务器

    • 若在linux直接使用scp协议:

      切换至所要上传的文件目录下

      scp -r 文件名 用户名@IP(或域名):上传至服务器所在 的路径

      scp 用户名@IP(或域名):上传至服务器所在的路径 本地路径

    • 使用winscp可以直接拖动

    • 使用gitbash可以模拟linux系统,方法与(1)相同

  2. mongodb的安装与配置

    tar -zxvf mongodb-linux-x86_64-ubuntu1604-3.4.0.tgz
    sudo mv mongodb-linux-x86_64-ubuntu1604-3.4.0/ /usr/local/mongodb
    
    sudo vim /etc/profile 
    最后一行添加export PATH=/usr/local/mongodb/bin:$PATH
    保存退出
    source /etc/profile
    
    sudo vim /etc/mongod.conf
    
    verbose=true
    port=27017
    logpath=/var/log/mongodb/logs/mongodb.log
    logappend=true
    dbpath=/var/lib/mongodb/db
    directoryperdb=true
    auth=false
    fork=true
    quiet=true
    
    sudo mkdir /var/log/mongodb/logs/ -p
    sudo touch /var/log/mongodb/logs/mongodb.log
    sudo mkdir /var/lib/mongodb/db -p
    
    注册开机启动:sudo vim /etc/init.d/mongodb
    !/bin/sh
    ### BEGIN INIT INFO
    # Provides: mongodb
    # Required-Start:
    # Required-Stop:
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: mongodb
    # Description: mongo db server
    ### END INIT INFO
    . /lib/lsb/init-functions
    PROGRAM=/usr/local/mongodb/bin/mongod
    MONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'`
    test -x $PROGRAM || exit 0
    case "$1" in
    start)
    ulimit -n 3000
    log_begin_msg "Starting MongoDB server"
    $PROGRAM -f /etc/mongod.conf
    log_end_msg 0
    ;;
    stop)
    log_begin_msg "Stopping MongoDB server"
    if [ ! -z "$MONGOPID" ]; then
    kill -15 $MONGOPID
    fi
    log_end_msg 0
    ;;
    status)
    ;;
    *)
    log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
    exit 1
    esac
    exit 0
    
    sudo chmod +x /etc/init.d/mongodb
    
  3. 注册开机脚本:

    sudo update-rc.d mongodb defaults
    (注意:移除使用sudo update-rc.d –f mongodb remove)
    
  4. 启动服务:

    sudo service mongodb start
    
  5. 客户端连接:

    mongo
    

四、安装redis

  1. 安装tcl:

    sudo apt-get install tcl
    
  2. 解压安装包:

    tar -zxvf  redis-3.2.5.tar.gz
    
  3. 创建安装目录并进入该目录:

    sudo mv redis-3.2.5/ /usr/local/redis  
    cd /usr/local/redis
    
  4. 编译安装:

    sudo make   
    sudo make test   
    sudo make install
    
  5. 测试:

    /usr/local/redis/src/redis-server
    /usr/local/redis/src/redis-cli
    set name ice
    get name
    
  6. 创建相关目录:

    sudo mkdir /etc/redis(配置文件路径)
    sudo mkdir /var/lib/redis(redis数据存储路径)
    
  7. 安装服务:

    cd /usr/local/redis/utils         
    sudo ./install_server.sh
    
  8. 重启服务:

    ps  ajx | grep redis     
    sudo kill -9 对应进程号
    
  9. 测试:

    redis-server       
    redis-cli
    
  10. 配置文件:

    cd /etc/redis
    sudo vim /etc/redis/6379.conf
    
    bind 127.0.0.1 绑定IP
    daemonize yes 是否以守护进程运行
    requirepass 密码
    重启服务:
    ps ajx | grep redis
    kill -9 对应进程号
    sudo redis-server /etc/redis/6379.conf
    
  11. 直接开启客户机:

    redis-cli
    

五、安装git

  1. 安装:

    sudo apt-get install git
    
  2. 配置git:

    git config –global user.name “ice”
    git config –global user.email “152516xxxx@qq.com”
    
  3. 生成秘钥:

    ssh-keygen –t rsa –C 152516xxxx@qq.com
    
  4. 在~/.ssh/ id_rsa.pub文件中复制生成的秘钥,打开GitHub网管,创建一个公钥

  5. 验证秘钥:

    ssh –T git@github.com
    
  6. 测试:

    git clone git@github.com:用户名/用户名.git
    

六、nginx安装

  1. 安装zlib依赖库:

    sudo apt-get install zlib1g-dev
    
  2. 进入解压相关文件:

    tar –xzvf openssl-1.0.1.tar.gz
    tar –xzvf nginx-1.11.3.tar.gz
    tar –xzvf pcre-8.41. tar.gz, 
    
  3. 进入Nginx解压目录:

    cd /home/ice/ nginx-1.11.3/
    
  4. 配置环境:

    ./configure  --prefix=/usr/local/nginx  
    --with-http_ssl_module  
    --with-http_flv_module  
    --with-http_stub_status_module   
    --with-http_gzip_static_module 
    --with-pcre=../pcre-8.41  
    --with-openssl=../openssl-1.0.1
    
  5. 编译:

    make
    如果出现”pcre.h No such file or directory”,
    安装”sudo apt-get install libpcre3-dev”
    
  6. 安装

    sudo make install
    
  7. 说明:

    nginx会被安装在/usr/local/nginx目录下
    conf:存放配置文件     html:静态网页    
    logs:存放日志文件     sbin:存放可执行文件
    
  8. 相关命令

    启动Nginx服务: sudo /usr/local/nginx/sbin/nginx
    关闭Nginx服务: sudo /usr/local/nginx/sbin/nginx -s stop
    重新加载配置:  sudo /usr/local/nginx/sbin/nginx –s reload
    指定配置文件:  sudo /usr/local/nginx/sbin/nginx –c /usr/local/nginx/conf/nginx.conf
    查看版本信息:  sudo /usr/local/nginx/sbin/nginx –V
    查看80端口的程序:nesta –ano | grep 80
    关闭占用80端口的程序:sudo fuser –k 80/tcp
    
  9. 启动服务:

    sudo /usr/local/nginx/sbin/nginx 或cd切换到sbin目录下执行./nginx
    
  10. 打开浏览器,输入Nginx服务器IP地址

  11. 配置

    • /usr/local/nginx/conf/nginx.conf
      
    • 全局设置:
      定义全局错误日志文件,需要什么等级可以设置开启
      error_log  logs/error.log;
      #error_log  logs/error.log  notice;
      #error_log  logs/error.log  info;
      worker_rlimit_nofile:指定一个nginx可以打开的最多文件描述符,可以使用“ulimit –n 65535”进行设置(虚拟机默认设置1024),阿里云服务器默认就是65535
      
    • events(nginx工作模式)
      events {
      use epoll;   linux标准的工作模式,nginx高效的基石
      worker_connections  1024;    定义nginx每个进程的最大连接数
      }
      
    • http(http设置)
      sendfile   on;   开启高效文件传输模式
      tcp_nopush  on;   防止网络阻塞
      tcp_nodelay  on;
      keepalive_timeout  65;    设置客户端连接活动的超时时间
      gzip on;   使用压缩模块
      
    • server(主机设置)
      			server{
      			  listen          80;
      			  server_name    localhsot www.ice.xin 39.105.61.52;
      			  charser utf-8;
      			# 负载均衡模块,upstream是负载均衡器
      			upstream ice {
      				server 39.105.61.52:8000 weight=1 max_fails=1 fail_timeout=300s;
      				server 39.105.61.53:8000 weight=1 max_fails=1 fail_timeout=300s;
      			}
      
      			  # 负载均衡采用轮循方式
      			  server server 39.105.61.52:8000 weight=1 max_fails=1 fail_timeout=300s;
      			}
      			  # 反向代理配置, 
      			  location / {
      #适用于django自带的runserver方式启动
      				#proxy_pass http://www.ice.xin:8000;
      				#proxy_pass http://www.ice.xin:8000;
      				#proxy_set_header Host $http_host;
      				# 设置uwsgi启动
      				include uwsgi_params;
      				uwsgi_pass ice;
      			  }
      }
      
  12. 重启nginx服务:

    sudo /usr/local/nginx/sbin/nginx
    

七、部署Django项目

  1. 安装Django:

    sudo pip install Django==1.11.4
    
  2. 创建Django项目:部署前需要关闭调试,允许任何机器访问

  3. 安装uwsgi:

    sudo apt-get install libpython3.6-dev(2.7不用安装)
    pip install uwsgi
    
  4. 创建:在工程目录下创建名为uwsgi.ini的文件

  5. 配置uwsgi.ini:

    [uwsgi]
    #使用nginx连接时使用功能,上线时才使用socket
    socket=0.0.0.0:8000
    #直接做web项目服务器使用
    #http=0.0.0.0:8000
    #项目目录
    chdir=/home/'/project
    #项目中wsgi.py文件的目录,相对于项目目录
    wsgi-file=project/wsgi.py
    processess=2
    threads=2
    master=True
    pidfile=uwsgi.pid
    #是否以守护进程的方式启动
    daemonize=uwsgi.log
    
  6. 启动:

    uwsgi --ini uwsgi.ini
    
    
  7. 停止:

    uwsgi --stop uwsgi.pid
    
  8. 配置Nginx:

    • 在/usr/local/nginx/conf/nginx.conf中添加:
      		location /static {
      			alias /var/www/xxx/static/;
      }
      
    • 创建静态文件的存储文件
      		sudo mkdir –vp /var/www/xxx/static/
      		sudo chmod 777 /var/www/xxx/static/
      
  9. 配置静态文件

    • 在settings.py中添加:
      STATIC_ROOT = ‘var/www/xxx/static/'
      STATIC_URL = ‘/static/'
      
    • 迁移静态文件
      python manage.py collectstatic