搜索
首页运维linux运维Linux:系统的相关配置
Linux:系统的相关配置Jun 19, 2019 pm 04:57 PM
linux配置

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中文网其他相关文章!

    声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    什么是linux设备节点什么是linux设备节点Apr 18, 2022 pm 08:10 PM

    linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

    Linux中open和fopen的区别有哪些Linux中open和fopen的区别有哪些Apr 29, 2022 pm 06:57 PM

    区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

    linux中什么叫端口映射linux中什么叫端口映射May 09, 2022 pm 01:49 PM

    端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

    linux中eof是什么linux中eof是什么May 07, 2022 pm 04:26 PM

    在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

    linux怎么判断pcre是否安装linux怎么判断pcre是否安装May 09, 2022 pm 04:14 PM

    在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

    linux怎么查询mac地址linux怎么查询mac地址Apr 24, 2022 pm 08:01 PM

    linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

    手机远程linux工具有哪些手机远程linux工具有哪些Apr 29, 2022 pm 05:30 PM

    手机远程linux工具有:1、JuiceSSH,是一款功能强大的安卓SSH客户端应用,可直接对linux服务进行管理;2、Termius,可以利用手机来连接Linux服务器;3、Termux,一个强大的远程终端工具;4、向日葵远程控制等等。

    linux中lsb是什么意思linux中lsb是什么意思May 07, 2022 pm 05:08 PM

    linux中,lsb是linux标准基础的意思,是“Linux Standards Base”的缩写,是linux标准化领域中的标准;lsb制定了应用程序与运行环境之间的二进制接口,保证了linux发行版与linux应用程序之间的良好结合。

    See all articles

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    AI Hentai Generator

    AI Hentai Generator

    免费生成ai无尽的。

    热门文章

    R.E.P.O.能量晶体解释及其做什么(黄色晶体)
    3 周前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳图形设置
    3 周前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.如果您听不到任何人,如何修复音频
    3 周前By尊渡假赌尊渡假赌尊渡假赌

    热工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神级代码编辑软件(SublimeText3)

    适用于 Eclipse 的 SAP NetWeaver 服务器适配器

    适用于 Eclipse 的 SAP NetWeaver 服务器适配器

    将Eclipse与SAP NetWeaver应用服务器集成。

    MinGW - 适用于 Windows 的极简 GNU

    MinGW - 适用于 Windows 的极简 GNU

    这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

    Dreamweaver CS6

    Dreamweaver CS6

    视觉化网页开发工具

    WebStorm Mac版

    WebStorm Mac版

    好用的JavaScript开发工具