• 昨晚通宵把服务器格式化,重新配置环境。


    1.备份代码和数据

    备份数据库用到命令:mysqldump -u 用户名 -p 数据库名 > 导出文件名

    2.然后登录阿里云后台停止服务器,再格式化磁盘。

    3.配置软件源

    Ubuntu中软件更新的源服务器地址存储再/etc/apt/soures.list

     

    每一行的开头是deb和deb-src,表示直接通过.deb文件或者源文件的方式来进行安装; 
    第二字段,即deb和deb-src字段后是一段URL,这是软件源的地址 

    第三字段,即URL后的字段,是再URL路径中的dists目录下对应的文件夹

    第四~七字段都是第三字段对应的目录下的子目录

    4.查看linux版本号,找到并且选择对应版本的软件源

    覆盖/etc/apt/soures.list, 根据ubuntu的版本将每行的第三个字段换成对应版本的名称;

    5.刷新软件源

    sudo apt-get update

    6.安装gcc g++的依赖库

    apt-get install build-essential

    apt-get install libtool

    7.安装 pcre依赖库

    sudo apt-get install libpcre3 libpcre3-dev

    8.安装 zlib依赖库

    apt-get install zlib1g-dev

    9.安装 ssl依赖库

    apt-get install openssl

    10.安装php7-frm

    sudo apt-get install php7.0-fpm

    11.安装mysql

    apt-get -y install mysql-server mysql-client

    为了确保数据库服务器,并删除匿名用户和测试数据库,运行mysql_secure_installation命令。

    mysql_secure_installation

    会要求输入你密码,然后问答回答,前面两个我按enter跳过,其他都是y

    12.安装nignx

    sudo apt-get install nginx

    根据端口查找进程   sudo lsof -i:端口号  

    杀掉进程: sudo kill PID号

    查询nginx进程  ps -ef | grep nginx

     

    停止Nginx:kill -QUIT 主进程号

     

     

     启动
    /usr/sbin/nginx -c /etc/nginx/nginx.conf
    不使用-c指定配置文件的话,默认加载安装目录下conf/nginx.conf

      重启
    /usr/sbin/nginx -s reload

    kill -HUP `cat /var/run/nginx.pid`

      配置文件检查
    /usr/sbin/nginx -t -c /etc/nginx/nginx.conf

    简单显示版本号
    /usr/sbin/nginx -v

    三、基本配置
    1、nginx.conf基础配置
    #工作用户及用户组(根据机器环境修改配置)
    user nginx nginx;
    #工作进程数(一般设为CPU总核数或其两倍)
    worker_processes 8;
    #错误日志路径及记录级别(debug,info,notice,warn,error,crit)
    error_log /var/log/nginx/error.log warn;
    #pid保存路径
    pid /var/run/nginx.pid;
    #文件描述符数
    worker_rlimit_nofile 51200;

    events
    {
      #使用的网络I/O模型,linux推荐epoll模型,freebsd推荐kqueue模型
      use epoll;
      #允许的连接数,可以的话尽量设大一些
      worker_connections 51200;
    }

    http
    {
      include /etc/niginx/mime.types;
      defaut_type application/octet-stream;
      #默认字符集,如不确定网站字符集,则不要设置,通过html的meta标签指定。
      charset utf-8;
      #禁止错误页面里显示nginx的版本号
      server_tokens off;
      server_names_hash_bucket_size 128;
      client_header_buffer_size 32k;
      large_client_header_buffers 4 32k;
      #客户端上传文件大小限制
      client_max_body_size 8m;
      sendfile on;
      tcp_nopush on;
      #客户端连接超时,服务器将关闭连接。 
      keepalive_timeout 60;
      tcp_nodelay on;
      #开启gzip压缩
      gzip on;
      #小于设置大小的文件不压缩
      gzip_min_length 1k;
      gzip_buffers 4 16k;
      gzip_http_version 1.1;
      #压缩等级
      gzip_comp_level 2;
      #压缩文件的类型
      gzip_types text/plain application/x-javascript text/css application/xml;
      gzip_vary on;
      fastcgi_connect_timeout 300;
      fastcgi_send_timeout 300;
      fastcgi_read_timeout 300;
      fastcgi_buffer_size 64k;
      fastcgi_buffers 4 64k;
      fastcgi_busy_buffers_size 128k;
      #指定是否传递错误信息到客户端,或者允许nginx使用error_page处理错误信息。
      fastcgi_intercept_errors off;

      server
      {
        #详见 站点配置
      }
    }

    13 配置Nginx

    vim /etc/nginx/sites-available/default

    找到下列代码,去掉相应注释

    location ~ .php$ {

            include snippets/fastcgi-php.conf;

            fastcgi_pass unix:/var/run/php5-fpm.sock;

    }

    配置好站点的信息

    service nginx restart

    14.安装sftp 才能把网站上传到服务器

    第01步,如果还没有安装OpenSSH服务器,先安装它。

    sudo apt-get install openssh-server

    第02步,为SFTP访问创建用户组,便于管理权限。

    sudo addgroup sftp-users

    第03步,创建SFTP用户,并配置相应权限。这里第二行的意思是将lzy从所有其他用户组中移除并加入到sftp-users组,并且关闭其Shell访问。如果想深入了解usermod命令,可以使用以下”man usermod”命令查看帮助文档。

    sudo adduser lzy
    sudo usermod -G sftp-users -s /bin/false lzy

    第04步,创建SSH用户组,并把管理员加入到该组(注意usermod中的-a参数的意思是不从其他用户组用移除)。

    sudo addgroup ssh-users 
    sudo usermod -a -G ssh-users root

     

    第05步,准备“监狱”的根目录及共享目录。这里解释一下,“监狱”的根目录必须满足以下要求:所有者为root,其他任何用户都不能拥有写入权限。因此,为了让SFTP用户能够上传文件,还必须在“监狱”根目录下再创建一个普通用户能够写入的共享文件目录。为了便于管理员通过SFTP管理上传的文件,我把这个共享文件目录配置为:由root所有,允许sftp-users读写。这样,管理员和SFTP用户组成员就都能读写这个目录了。

    sudo mkdir /home/sftp_root

    sudo mkdir /home/sftp_root/shared

    sudo chown root:sftp-users /home/sftp_root/shared

    sudo chmod 770 /home/sftp_root/shared

     

    第06步,修改SSH配置文件。

    sudo vim /etc/ssh/sshd_config

    在sshd_config文件的最后,添加以下内容:

    AllowGroups ssh-users sftp-users

    Match Group sftp-users

        ChrootDirectory /home/sftp_root

        AllowTcpForwarding no

        X11Forwarding no

        ForceCommand internal-sftp

    这些内容的意思是: 
    只允许ssh-uers及sftp-users通过SSH访问系统; 
    针对sftp-users用户,额外增加一些设置:将“/home/sftp_root”设置为该组用户的系统根目录(因此它们将不能访问该目录之外的其他系统文件);禁止TCP Forwarding和X11 Forwarding;强制该组用户仅仅使用SFTP。

    第07步,重启

    sudo reboot now

  • 相关阅读:
    JAVA邀请码生成器
    Mybatis+Spring实现Mysql读写分离
    Apache HttpComponents 工具类 [ HttpUtil ]
    JAVA短信验证码 工具类
    Spring 集成 Redis
    Java图片高保真缩放工具类
    JAVA Sftp 上传下载
    java项目小手册
    WebSocket前后端实现
    页面PC端 / 移动端整屏纵向翻页,点击/触摸滑动效果功能代码非插件
  • 原文地址:https://www.cnblogs.com/lzy007/p/7898978.html
Copyright © 2020-2023  润新知