zoukankan      html  css  js  c++  java
  • 服务器环境搭建常见命令及工具安装改法

    1 dpkg --list 查看并下载所安装的应用

    #apt-get  install lrzsz
    #apt-get install ssh
    #pip3 install djangorestframework
    #pip3 install django==1.11
    # sudo apt-get install redis-server
     

    2 在终端上输入命令sudo apt-get --purge remove 包名(--purge是可选项,写上这个属性是将软件及其配置文件一并删除,

      如不需要删除配置文件,可执行sudo apt-get remove 包名) ,此  处我要删除的是polipo ,那么在终端输入sudo apt-get --purge remove polipo,

      按下回车,输入密码,再次回车

    3-1、卸载python3.4

    sudo apt-get remove python3.4

    3-2、卸载python3.4及其依赖

    sudo apt-get remove --auto-remove python3.4

    3-3、清除python3.4

    sudo apt-get purge python3.4
    or
    sudo apt-get purge --auto-remove python3.4

     4 安装环境

    wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz
    #https://www.python.org/ftp/python/3.6.4/
    tar -xvf Python-3.4.2.tgz
    cd Python-3.4.2
    ./configure --with-zlib
    sudo make
    sudo make install

    5 安装openssl

    #安装 Openssl
    $ sudo apt-get install openssl      ##安装openssl
    $ sudo apt-get install libssl-dev    ##安装openssl开发库

    6 关闭每日自动更新

    sudo apt-get remove unattended-upgrades
    sudo systemctl stop apt-daily.timer
    sudo systemctl disable apt-daily.timer
    sudo systemctl disable apt-daily.service
    sudo systemctl daemon-reload

     7  杀掉uwsgi起的服务

    pkill -f uwsgi -9

     8 UBUNTU下删除mysql

    删除
    1 sudo rm /var/lib/mysql/ -R 删除mysql的数据文件 2 sudo rm /etc/mysql/ -R 删除mqsql的配置文件 3 sudo apt-get autoremove mysql* --purge sudo apt-get remove apparmor 自动卸载mysql的程序

    ------------
    安装

      ubuntu上安装mysql非常简单只需要几条命令就可以完成。

    
    
      1. sudo apt-get install mysql-server
     
      2. apt-get isntall mysql-client
     
      3.  sudo apt-get install libmysqlclient-dev
     

    9 Mysql实现远程访问

    
    

    添加用户

     create user 'adminlibaba'@'%' identified by '@Sosnibaba';
     grant all privileges on cloud.* to adminlibaba@'%' identified by '@Sosnibaba';
     flush privileges;


    实现远程连接(改表法) use mysql; update user set host = '%' where user = 'root'
    ; 然后进行重启一下服务 这样在远端就可以通过root用户访问Mysql
    之后如果不需要远程访问了,需要改回来

     10 nginx配置文件详解

    #普通配置
    #==性能配置
    
    
    #运行用户
    user nobody;
    #pid文件
    pid logs/nginx.pid;
    #==worker进程数,通常设置等同于CPU数量,auto为自动检测
    worker_processes auto;
    #==worker进程打开最大文件数,可CPU*10000设置
    worker_rlimit_nofile 100000;
    #全局错误日志
    error_log  logs/error.log;
    
    
    #events模块中包含nginx中所有处理连接的设置
    events {
        #==worker进程同时打开的最大连接数,可CPU*2048设置
        worker_connections 2048;
        #==告诉nginx收到一个新链接通知后接受尽可能多的链接
        multi_accept on;
        #==设置用于复用客户端线程的轮训方法
        use epoll;
    }
    
    
    #http模块控制着nginx http处理的所有核心特性
    http {
        #打开或关闭错误页面中的nginx版本号deng
        server_tokens on;
        #!server_tag on;
        #!server_info on;
        #==优化磁盘IO设置,指定nginx是否调用sendfile函数来输出文件,普通应用设为on,下载等磁盘IO高的应用,可设为off
        sendfile on;
        #==设置nginx在一个数据包里发送所有头文件,而不是一个接一个的发送
        tcp_nopush on;
        #==设置nginx不要缓存数据,而是一段一段的发送,
        #==当需要及时发送数据时,就应该给应用设置这个属性,这样发送一小块数据信息时就不能立即得到返回值
        tcp_nodelay on;
    
        #==设置nginx是否存储访问日志,关闭这个可以让读取磁盘IO操作更快
        access_log on;
        #设置nginx只记录严重错误
        #error_log logs/error.log crit;
    
        #==给客户端分配keep-alive链接超时时间
        keepalive_timeout 30;
    
        #设置用户保存各种key的共享内存的参数,5m指的是5兆
        limit_conn_zone $binary_remote_addr zone=addr:5m;
        #为给定的key设置最大的连接数,这里的key是addr,设定的值是100,就是说允许每一个IP地址最多同时打开100个连接
        limit_conn addr 100;
    
        #include指在当前文件中包含另一个文件内容
        include mime.types;
        #设置文件使用默认的mine-type
        default_type text/html;
        #设置默认字符集
        charset UTF-8;
    
        #==设置nginx采用gzip压缩的形式发送数据,减少发送数据量,但会增加请求处理时间及CPU处理时间,需要权衡
        gzip on;
        #==加vary给代理服务器使用,针对有的浏览器支持压缩,有个不支持,根据客户端的HTTP头来判断是否需要压缩
        gzip_vary on;
        #nginx在压缩资源之前,先查找是否有预先gzip处理过的资源
        #!gzip_static on;
        #为指定的客户端禁用gzip功能
        gzip_disable "MSIE[1-6].";
        #允许或禁止压缩基于请求和相应的响应流,any代表压缩所有请求
        gzip_proxied any;
        #==设置对数据启用压缩的最少字节数,如果请求小于10240字节则不压缩,会影响请求速度
        gzip_min_length 10240;
        #==设置数据压缩等级,1-9之间,9最慢压缩比最大
        gzip_comp_level 2;
        #设置需要压缩的数据格式
        gzip_types text/plain text/css text/xml text/javascript  application/json application/x-javascript application/xml application/xml+rss; 
    
        #==开发缓存的同时也指定了缓存文件的最大数量,20s如果文件没有请求则删除缓存
        open_file_cache max=100000 inactive=20s;
        #==指多长时间检查一次缓存的有效信息
        open_file_cache_valid 60s;
        #==文件缓存最小的访问次数,只有访问超过5次的才会被缓存
        open_file_cache_min_uses 5;
        #当搜索一个文件时是否缓存错误信息
        open_file_cache_errors on;
    
        #==允许客户端请求的最大单文件字节数
        client_max_body_size 8m;
        #==冲区代理缓冲用户端请求的最大字节数
        client_header_buffer_size 32k;
    
        #
        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;
        #==nginx跟后端服务器连接超时时间(代理连接超时)
        proxy_connect_timeout 60;
        #==连接成功后,后端服务器响应时间(代理接收超时)
        proxy_read_timeout 120;
        #==后端服务器数据回传时间(代理发送超时)
        proxy_send_timeout 20;
        #==设置代理服务器(nginx)保存用户头信息的缓冲区大小
        proxy_buffer_size 32k;
        #==proxy_buffers缓冲区,网页平均在32k以下的设置
        proxy_buffers 4 128k;
        #==高负荷下缓冲大小(proxy_buffers*2)
        proxy_busy_buffers_size 256k;
        #==设定缓存文件夹大小,大于这个值,将从upstream服务器传
        proxy_temp_file_write_size 256k;
        #==1G内存缓冲空间,3天不用删除,最大磁盘缓冲空间2G
        proxy_cache_path /home/cache levels=1:2 keys_zone=cache_one:1024m inactive=3d max_size=2g;
    
    
        #设定负载均衡服务器列表
        upstream nginx.test.com{
            #后端服务器访问规则
            #ip_hash;
            #weight参数表示权重值,权值越高被分配到的几率越大
            #server 10.11.12.116:80 weight=5;
            #PC_Local
            server 10.11.12.116:80;
            #PC_Server
            server 10.11.12.112:80;
            #Notebook
            #server 10.11.12.106:80;
        }
    
        #虚拟主机设定模块(挂载多个站点,只需要配置多个server及upstream节点即可)
        server {
            #监听80端口
            listen 80;
            #定义使用nginx_test_com访问
            server_name nginx_test_com;
            #设定本虚拟主机的访问日志
            access_log logs/nginx.test.com.access.log;
            
            #默认请求
            # 语法规则:location [=|~|~*|^~] /uri/ {...} 先匹配普通location,在匹配正则location
            # = 开头表示精确匹配
            # ^~ 开头表示uri以某个常规字符串开头,理解为匹配url路径即可,无需考虑编解码
            # ~ 开头表示区分大小写的正则匹配
            # ~* 开头表示不区分大小写的正则匹配
            # !~ 开头表示区分大小写的不匹配的正则
            # !~* 开头表示不区分大小写的不匹配的正则
            # / 通用匹配,任何请求都会被匹配到
            location / {
                #定义服务器的默认网站根目录位置
                root html;
                #定义首页索引文件的名称
                index index.html index.htm;
                #定义后端负载服务器组, 就是上述upstream定义的名称
                proxy_pass http://nginx.test.com;
            }
    
            #定义错误提示页面
            error_page 500 502 503 504 /50x.html;
            location = /50x.html {
                root html;
            }
            #静态文件,nginx自己处理
            location ~ ^/(images|javascript|js|css|flash|media|static)/{
                root /var/www/virtual/htdocs;
                #过期时间1天
                expires 1d;
                #关闭媒体文件日志
                access_log off;
                log_not_found off;
            }
            #设定查看Nginx状态的地址
            location /NginxStatus {
                #!stub_status on; #无此关键字
                access_log off;
                auth_basic "NginxStatus";
                auth_basic_user_file conf/htpasswd;
            }
            #禁止访问的文件.htxxx
            location ~ /.ht {
                deny all;
            }
        }
        #网站较多的情况下ngxin又不会请求瓶颈可以考虑挂多个站点,并把虚拟主机配置单独放在一个文件内,引入进来
        #include website.conf;
    }
    View Code
    # 如果需要加上黑名单,需要查看配置文件,(本人习惯ubuntu)
    默认位置:/etc/nginx 目录下有 conf.d 和 nginx.conf
    cat nginx.conf之后发现里面有include /etc/nginx/conf.d/*.conf; (可以很明显发现引用的是conf.d文件夹下的所有.conf文件)
    为了不修改原有配置文件,所以在conf.d文件下加入黑名单ip.conf
     1 注意格式:deny 119.98.134.142;
            【这里的分号必须加上,否则会报错(
              Job for nginx.service failed because the control process exited with error code.
              See "systemctl status nginx.service" and "journalctl -xe" for details)】
    2 加入之后需要重启nginx,默认目录如下图    
       使用命令 sudo service nginx restart


    nginx转发内网时候会出现502的问题,解决方法如下:
    执行如下命令打开:
    /usr/sbin/setsebool httpd_can_network_connect true

    写入配置文件
    setsebool -P httpd_can_network_connect=1

    如果在centos7下编译redis6.0版本,如果出现以下错误

    In file included from server.c:30:0:
    server.h:1022:5: error: expected specifier-qualifier-list before ‘_Atomic’
    _Atomic unsigned int lruclock; /* Clock for LRU eviction */

    请先检查gcc的版本是否低于5,如果是请先升级,可以使用以下命令:
    sudo yum install centos-release-scl
    sudo yum install devtoolset-7-gcc*
    scl enable devtoolset-7 bash



    
    

    6 python虚拟环境搭建

    安装
    pip install virtualenv
    
    linux使用 $ cd my_project_dir $ virtualenv venv  
    #venv为虚拟环境目录名,目录名自定义 你可以选择使用一个Python解释器: $ virtualenv -p /usr/bin/python2.7 venv    # -p参数指定Python解释器程序路径 要开始使用虚拟环境,其需要被激活: $ source venv/bin/activate 

    windows 使用
    python -m  venv 环境名
    
    

     

    关于Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案

    使用以下三步即可解决问题
    lp@hlp-Lenovo-G405:~$ sudo rm /var/lib/lists/lock(此处需要更改) hlp@hlp-Lenovo-G405:~$ sudo dpkg --configure -a hlp@hlp-Lenovo-G405:~$ sudo apt update
    参考文档地址:https://www.cnblogs.com/yun6853992/p/9343816.html

    8,安装redis---

    如果在centos7下编译redis6.0版本,如果出现以下错误

    In file included from server.c:30:0:
    server.h:1022:5: error: expected specifier-qualifier-list before ‘_Atomic’
    _Atomic unsigned int lruclock; /* Clock for LRU eviction */

    请先检查gcc的版本是否低于5,如果是请先升级,可以使用以下命令:
    sudo yum install centos-release-scl
    sudo yum install devtoolset-7-gcc*
    scl enable devtoolset-7 bash

     -----------------------------------------
    --------------------------------------------
    下面为centos环境搭建

    安装python依赖,docker环境下没有依赖,比较精简
    yum install -y openssl-devel openssl-static zlib-devel lzma tk-devel xz-devel bzip2-devel ncurses-devel gdbm-devel readline-devel sqlite-devel gcc libffi-devel net-tools yum install -y wget make wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz tar -xvf Python-3.7.0.tgz ./configure make make install
  • 相关阅读:
    Candy leetcode java
    Trapping Rain Water leetcode java
    Best Time to Buy and Sell Stock III leetcode java
    Best Time to Buy and Sell Stock II leetcode java
    Best Time to Buy and Sell Stock leetcode java
    Maximum Subarray leetcode java
    Word Break II leetcode java
    Word Break leetcode java
    Anagrams leetcode java
    Clone Graph leetcode java(DFS and BFS 基础)
  • 原文地址:https://www.cnblogs.com/Skyda/p/10135091.html
Copyright © 2011-2022 走看看