ホームページ >運用・保守 >Linuxの運用と保守 >Linux: システム関連の構成

Linux: システム関連の構成

步履不停
步履不停オリジナル
2019-06-19 16:57:002184ブラウズ

Linux: システム関連の構成

一、用户的创建与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绑定

    mysql –u root –p
    use mysql;
    update user set host = '%' where user = 'root';
    grant all privileges on *.* to 'root'@'%' identified by '你的密码';
    flush privileges;
    quit;
  5. 重启服务:

    sudo service mysql restart

三、安装mongodb

  1. 远程上传至服务器

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

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

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

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

  • 使用winscp可以直接拖动

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

  • 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
  • 注册开机脚本:

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

    sudo service mongodb start
  • 客户端连接:

    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. 重启服务:

      redis-server       
      redis-cli
    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;
      			  }
      }
  • 重启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/
  • 配置静态文件

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

    更多Linux文章,请访问Linux教程栏目进行学习!

    以上がLinux: システム関連の構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。