首页
网站首页
公司简介
资讯中心
推荐内容
返回顶部
整理齐全,绘图基础
发布时间:2019-12-25 16:27
浏览次数:
在 CentOS 上安装 vsftp 服务


1、查看当前 CentOS 服务器是否已安装了 vsftpd 服务:
 rpm -q vsftpd
   如果打印如下类似的信息则表明已安装 vsftpd 服务:
 vsftpd-3.0.2-21.el7.x86_64
   如果未输出任何信息则表明未安装 vsftpd 服务

2、在未安装 vsftpd 服务的情况下执行如下命令安装 vsftp 软件:
 yum -y install vsftpd

3、安装完后重启 vsftpd 服务:
 service vsftpd restart

4、查看 vsftpd 服务是否已运作:
 ps -aux | grep vsftpd

5、打开 /etc/vsftpd/ 目录下的 vsftpd.conf 文件:
 vim /etc/vsftpd/vsftpd.conf
   找到 anonymous_enable=YES 将其改为 anonymous_enable=NO 即不允许匿名登录。
   找到 chroot_local_user=YES 将其改为 chroot_local_user=NO

6、重启 vsftpd 服务:
 service vsftpd restart

7、进入到 /home 目录中并创建 ftp_storage 目录:
 cd /home
 mkdir -p ftp_storage

8、为 ftp_storage 目录设置“可写入”权限,否则无法上传文件:
 chmod o+w /home/ftp_storage/

9、为 vsftpd 服务创建用户,用于连接/访问 FTP 服务:
 useradd -s /sbin/nologin -d /home/ftp_storage/ ftp_user
   其中用户名为:ftp_user,可访问的目录为:/home/ftp_storage/
   如果已存在此用户可以不再创建或换为其它用户名。

10、为用户 ftp_user 设置密码:
 passwd ftp_user
    然后输入新密码

11、用 FTP 客户端软件连接并上传文件试试吧!

12、备注:FTP 的默认端口为 21,端口 21 用于权限认证,实际上文件的传输是采用端口 20 实现的。

最近公司有几个项目是需要在Windows VPS服务器中运行调试的,但是公司给予的成本有限,所以只能在Linux VPS中考虑,毕竟Linux服务器相比Windows系统便宜很多。开始我们运维部门考虑的是安装VNC远程桌面,安装是可以的,但是链接后很慢,而且打开相当的慢。然后我们考虑在KVM VPS服务器中DD安装Windows系统,后来看到Vultr VPS有支持自定义安装Windows系统,可以自己挂载ISO系统后安装。

图片 1图片 2

一种比杀毒软件都优化还给力的方法,还在为开机几百个程序启动发愁嘛。一般电脑在重装系统之后的开机进程在50左右,而随着安装程序的增多开机进程将越来越多。下面介绍怎么优化win10进程的方法

  

1、可以自定义ISO系统

  1 /*-----------------------------
  2 BEZIER.C -- Bezier Splines Demo
  3 (c) Charles Petzold, 1998
  4 -----------------------------*/
  5 
  6 #include <Windows.h>
  7 
  8 LRESULT CALLBACK WndPorc(HWND, UINT, WPARAM, LPARAM);
  9 
 10 int WINAPI WinMain( __in HINSTANCE hInstance
 11                     , __in_opt HINSTANCE hPrevInstance
 12                     , __in LPSTR lpCmdLine
 13                     , __in int nShowCmd )
 14 {
 15     static TCHAR szAppName[] = TEXT("Bezier");
 16     HWND hwnd;
 17     MSG msg;
 18     WNDCLASS wndclass;
 19 
 20     wndclass.style = CS_HREDRAW | CS_VREDRAW;
 21     wndclass.lpfnWndProc = WndPorc;
 22     wndclass.cbClsExtra = 0;
 23     wndclass.cbWndExtra = 0;
 24     wndclass.hInstance = hInstance;
 25     wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
 26     wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
 27     wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
 28     wndclass.lpszMenuName = NULL;
 29     wndclass.lpszClassName = szAppName;
 30 
 31     if (!RegisterClass(&wndclass))
 32     {
 33         MessageBox(NULL, TEXT("Program requires Windows NT!")
 34             , szAppName, MB_ICONERROR);
 35         return 0;
 36     }
 37 
 38     hwnd = CreateWindow(szAppName, TEXT("Bezier Splines")
 39         , WS_OVERLAPPEDWINDOW
 40         , CW_USEDEFAULT, CW_USEDEFAULT
 41         , CW_USEDEFAULT, CW_USEDEFAULT
 42         , NULL, NULL, hInstance, NULL);
 43 
 44     ShowWindow(hwnd, nShowCmd);
 45     UpdateWindow(hwnd);
 46 
 47     while (GetMessage(&msg, NULL, 0, 0))
 48     {
 49         TranslateMessage(&msg);
 50         DispatchMessage(&msg);
 51     }
 52 
 53     return msg.wParam;
 54 }
 55 
 56 void DrawBezier(HDC hdc, POINT apt[])
 57 {
 58     PolyBezier(hdc, apt, 4);
 59 
 60     MoveToEx(hdc, apt[0].x, apt[0].y, NULL);
 61     LineTo(hdc, apt[1].x, apt[1].y);
 62 
 63     MoveToEx(hdc, apt[2].x, apt[2].y, NULL);
 64     LineTo(hdc, apt[3].x, apt[3].y);
 65 }
 66 
 67 LRESULT CALLBACK WndPorc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
 68 {
 69     static POINT apt[4];
 70     HDC hdc;
 71     int cxClient, cyClient;
 72     PAINTSTRUCT ps;
 73 
 74     switch (message)
 75     {
 76     case WM_SIZE:
 77         cxClient = LOWORD(lParam);
 78         cyClient = HIWORD(lParam);
 79 
 80         apt[0].x = cxClient / 4;
 81         apt[0].y = cyClient / 2;
 82         
 83         apt[1].x = cxClient / 2;
 84         apt[1].y = cyClient / 4;
 85 
 86         apt[2].x = cxClient / 2;
 87         apt[2].y = 3 * cyClient / 4;
 88 
 89         apt[3].x = 3 * cxClient / 4;
 90         apt[3].y = cyClient / 2;
 91 
 92         return 0;
 93 
 94     case WM_LBUTTONDOWN:
 95     case WM_RBUTTONDOWN:
 96     case WM_MOUSEMOVE:
 97         if (wParam & MK_LBUTTON || wParam & MK_RBUTTON)
 98         {
 99             hdc = GetDC(hwnd);
100             SelectObject(hdc, GetStockObject(WHITE_PEN));
101 
102             DrawBezier(hdc, apt);
103 
104             if (wParam & MK_LBUTTON)
105             {
106                 apt[1].x = LOWORD(lParam);
107                 apt[1].y = HIWORD(lParam);
108             }
109 
110             if (wParam & MK_RBUTTON)
111             {
112                 apt[2].x = LOWORD(lParam);
113                 apt[2].y = HIWORD(lParam);
114             }
115 
116             SelectObject(hdc, GetStockObject(BLACK_PEN));
117 
118             DrawBezier(hdc, apt);
119 
120             ReleaseDC(hwnd, hdc);
121         }
122         return 0;
123 
124     case WM_PAINT:
125         InvalidateRect(hwnd, NULL, TRUE);
126         hdc = BeginPaint(hwnd, &ps);
127 
128         DrawBezier(hdc, apt);
129 
130         EndPaint(hwnd, &ps);
131         return 0;
132 
133     case WM_DESTROY:
134         PostQuitMessage(0);
135         return 0;
136     }
137 
138     return DefWindowProc(hwnd, message, wParam, lParam);
139 }

图片 3

  官网博文: http://www.joyupx.com/blogDetail.html#/96

图片 4

BEZIER.C

图片 5

这里我们需要先找到Windows系统的ISO。

BEZIER程序的显示结果

图片 6

友情链接: 网站地图
Copyright © 2015-2019 http://www.nflfreepicks.net. 新葡萄京娱乐场网址有限公司 版权所有