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

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

转载于:https://www.cnblogs.com/lzy007/p/7898978.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415222.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode设置折行字数

在vscode设置中查找Word Wrap。 将默认的80换成200 即可。

SpringCloud stream连接RabbitMQ收发信息

百度上查的大部分都是一些很简单的单消费者或者单生产者的例子,并且多是同一个服务器的配置,本文的例子为多服务器配置下的消费生产和消费者配置。 参考资料:https://docs.spring.io/spring-cloud-stream/docs/Elmhurst.RELEASE/reference/ht…

前端学习(2659):组件间传参

第一步 第二步 第三步 子组件定义 第四步

Android 实现验证码效果图

自定义验证码图片view public class CheckView extends View {Context mContext;String mCheckCode null;Paint mTempPaint new Paint();private final int mPointNum;private final int mLineNum;private int mTextLength;private final float mTextSize; // private f…

JavaScript的基本语法

1.JavaScript中的表示符合保留关键字:JavaScript中定义的符号必须以字母,下划线_或美元符$开始,其他字符可以是字母数字,下划线或者美元符。如变量名,函数名等。但是,标识符不能是JavaScript中的保留关键字…

Android 视频播放器,VideoView播放视频

实现demo:https://download.csdn.net/download/meixi_android/13729352 获取视频时长 delyedTime videoView.getDuration();//单位毫秒(ms) 引入视频模块 implementation project(:dkplayer-java) implementation project(:dkplayer-ui)视…

工作174:数组转换为对象项目案例

/* getAction("/task",).then(res>{console.log(res)let List[]res.data.items.map((value,index)>{/!* console.log(value.task_recode)*!/List.push({...value.task_recode})})this.tableDataListconsole.log(this.tableData)})*/ 本次直接处理 转换为数…

AAPT2 error: check logs for details.

/1、全部替代你的项目build.gradle内容: // Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {repositories { // maven { // url https://maven.google.com // }mavenCe…

工作175:数据在表格横坐标动态显示

1数据格式 2对数据进行处理 created() {getAction("/task/arrange").then(res>{console.log(res)this.tableDatares.data.itemsthis.timeres.data.timeconsole.log(this.time)res.data.time.map((value,index)>{console.log(value)let arr {prop:,label:value.…

Android 生成二维码,条形码,二维码添加logo

zxing生成二维码 implementation com.google.zxing:core:3.3.1 implementation(name: zxing-1.0.1, ext: aar) implementation com.github.bumptech.glide:glide:4.9.0 annotationProcessor com.github.bumptech.glide:compiler:4.9.0 private Bitmap getCodeBitmap(String c…

java setDataSource 报红

开始学习spring security遇到一个问题&#xff0c;setDataSource老是报红 解决方案&#xff0c;在pom.xml中增加 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><version>2…

Android 识别图片二维码,以及设置状态栏颜色

zxing依赖&#xff1a;compile cn.yipianfengye.android:zxing-library:2.2 初始化&#xff1a;private String SAVE_PIC_PATH Environment.getExternalStorageState().equalsIgnoreCase(Environment.MEDIA_MOUNTED)? Environment.getExternalStorageDirectory().getAbsolute…

linux之sed

sed 是一个流编辑器(stream editor)&#xff0c;主要用来执行文本替换。但 sed 的主要设计目的是以批处理的方式而不是交互的方式来编辑文件。 命令简介 基本命令格式 sed [常用选项] 命令文本 输入 常用选项 -n (--quiet, --silent)&#xff1a;安静模式。在 sed 的基本用法中…