2019独角兽企业重金招聘Python工程师标准>>>

12.1 LNMP架构介绍

LNMP架构介绍目录概要

  • 和LAMP不同的是,提供web服务的是Nginx
  • 并且php是作为一个独立服务存在的,这个服务叫做php-fpm
  • Nginx直接处理静态请求,动态请求会转发给php-fpm

LNMP架构

  • LAMP和LNMP两个架构类似

    • 在LAMP架构中,PHP和Apache是一个整体,php解析是交给Apache来执行的,只不过需要加一个php的模块libphp.so
    • 在LNMP架构中,提供web服务的是Nginx,PHP会启动一个php-fpm服务,Nginx会把用户请求的php交给php-fpm服务去进行处理(用户数据与mysql的交互就是由php-fpm来做的,处理好的结果在高速Nginx,然后通过Nginx告诉用户的浏览器),用户的静态请求将由Nginx直接进行处理(Nginx在处理静态数据的性能上要比Apache快),
      • Nginx对静态为主的网站,处理用户并发会很大,速度也会快很多

12.2 MySQL安装

MySQL安装目录概要

  • cd /usr/local/src
  • wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
  • tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
  • mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
  • cd /usr/local/mysql
  • useradd mysql
  • mkdir /data/
  • ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
  • cp support-files/my-default.cnf /etc/my.cnf
  • cp support-files/mysql.server /etc/init.d/mysqld
  • vi /etc/init.d/mysqld
    • 定义basedir和datadir
  • /etc/init.d/mysqld start

搭建LNMP环境

LAMP架构下,然后搭建LNMP架构
1.首先查看mysql是否启动
ps aux |grep mysql
2.删除目录
rm -rf /usr/local/mysql/
3.删除启动的脚本
rm -rf /etc/init.d/mysqld
4.然后其他步骤相同
  1. 这里新建一个虚拟环境(这里不是在lamp架构上搭建的,而是新建的一个环境)
  2. 然后进入到/usr/local/src目录下
[root@hanfeng ~]# cd /usr/local/src
[root@hanfeng src]#
  1. 下载mysql安装包
[root@hanfeng src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
  1. 然后解压安装包
[root@hanfeng src]# tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
  1. 移动目录并修改名称——>这里移动目录到/usr/local/下时,一定不能有mysql目录,(若已经有mysql目录时,再去移动则会放到mysql目录下面去,而不是去移动并修改名称了)
[root@hanfeng src]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
[root@hanfeng src]#
  1. 移动完后,检查目录
[root@hanfeng src]# ls /usr/local/mysql
bin      data  include  man         README   share      support-files
COPYING  docs  lib      mysql-test  scripts  sql-bench
[root@hanfeng src]#
  1. 进入到/usr/local/mysql目录下
[root@hanfeng src]# cd /usr/local/mysql
[root@hanfeng mysql]#
  1. 新建mysql用户和/data/目录——>这里若是在lamp之前的基础上做的话,需要rm -rf /data/mysql/*清空内容,(直接删除mysql目录也可以。它会自动创建)
[root@hanfeng mysql]# useradd mysql
[root@hanfeng mysql]# mkdir /data/
[root@hanfeng mysql]#
  1. 初始化./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
  • 初始化的过程目的,就是把mysql启动所需要的目录生成
[root@hanfeng mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
  • 错误
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper
  • 解决方法
yum install -y perl-Data-Dumper
  • 错误
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
  • 解决方法
yum install -y libaio
  1. 然后可以echo $?检查,或者看初始化的过程中是否有两个OK
[root@hanfeng mysql]# echo $?
0
[root@hanfeng mysql]#
  1. 拷贝配置文件cp support-files/my-default.cnf /etc/my.cnf
  • 未拷贝之前的环境配置cat /etc/my.cnf
[root@hanfeng mysql]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

拷贝后

[root@hanfeng mysql]# cp support-files/my-default.cnf  /etc/my.cnf
  1. 拷贝文件cp support-files/mysql.server /etc/init.d/mysqld
[root@hanfeng mysql]# cp support-files/mysql.server /etc/init.d/mysqld
  1. 编辑文件 /etc/init.d/mysqld,并配置
[root@hanfeng mysql]# vim /etc/init.d/mysqld在文件中配置
basedir=/usr/local/mysql
datadir=/data/mysql然后保存退出
  1. 启动mysql服务
[root@hanfeng mysql]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/mysql/hanfeng.err'.
. SUCCESS!
[root@hanfeng mysql]#
  1. 查看服务是否启动成功
[root@hanfeng mysql]# ps aux |grep mysql
root      2295  0.0  0.1 113252  1608 pts/0    S    22:41   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/hanfeng.pid
mysql     2403  1.9 44.6 973512 451180 pts/0   Sl   22:41   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/hanfeng.err --pid-file=/data/mysql/hanfeng.pid
root      2429  0.0  0.0 112656   992 pts/0    R+   22:41   0:00 grep --color=auto mysql
[root@hanfeng mysql]#
  1. 将mysql服务加入到服务列表中去,并设置开机启动
[root@hanfeng mysql]# chkconfig --add mysqld
[root@hanfeng mysql]# chkconfig mysqld on
[root@hanfeng mysql]#
  1. 下次就可以直接使用service关闭或启动服务
[root@hanfeng mysql]# service mysqld stop
Shutting down MySQL.. SUCCESS!
[root@hanfeng mysql]# service mysqld start
Starting MySQL. SUCCESS!

12.3/12.4 PHP安装

PHP安装目录概要

  • 和LAMP安装PHP方法有差别,需要开启php-fpm服务
  • cd /usr/local/src/
  • wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
  • tar zxf php-5.6.30.tar.gz
  • useradd -s /sbin/nologin php-fpm
  • cd php-5.6.30
  • ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl --with-openssl
  • make && make install
  • cp php.ini-production /usr/local/php-fpm/etc/php.ini
  • vi /usr/local/php/etc/php-fpm.conf //写入如下内容
  • cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
  • chmod 755 /etc/init.d/php-fpm
  • chkconfig --add php-fpm
  • chkconfig php-fpm on
  • service php-fpm start
  • ps aux |grep php-fpm

PHP安装

  • LAMP架构和LNMP架构中安装PHP方法是不同的

    • 在LAMP中,php是作为Apache的一个模块存在的,需要用apxs2 指定Apache的路径,使用apxs的工具进行自动配置模块的加载
    • 在LNMP里,需要指定mysql的路径,但是不需要制动Nginx的路径,因为是LNMP中,PHP是作为一个独立的服务在运行的,和Nginx没有直接的关系,所以它也不需要依赖Nginx
  • 若是在之前LAMP架构中,编译过PHP,所以只需要进入PHP的目录下执行make clean 把之前编译过的那些文件,全部删掉
  1. 首先进入到/usr/local/src/
[root@hanfeng ~]# cd /usr/local/src/
[root@hanfeng src]#
  1. 下载php安装包
[root@hanfeng src]# wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
  1. 解压php安装包
[root@hanfeng src]# tar zxf php-5.6.30.tar.gz
[root@hanfeng src]# ls
mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz  php-5.6.30  php-5.6.30.tar.gz
[root@hanfeng src]#
  1. 增加用户并指定shell
  • useradd -s 指定用户的shell
[root@hanfeng src]# useradd -s /sbin/nologin php-fpm
[root@hanfeng src]#
  1. 切换到/usr/local/src/php-5.6.30
[root@hanfeng ~]# cd /usr/local/src/php-5.6.30
[root@hanfeng php-5.6.30]#
  1. 初始化./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl --with-openssl
  • ./configure –prefix=/usr/local/php-fpm //指定路径
  • --with-config-file-path=/usr/local/php-fpm/etc //指定配置文件所在路径
  • --enable-fpm //必须加上,否则无法启动该服务
  • --with-fpm-user=php-fpm //指定用户
  • --with-fpm-group=php-fpm //指定组
  • --with-mysql=/usr/local/mysql //指定 mysql 的路径
  • --with-mysqli=/usr/local/mysql/bin/mysql_config //指定 mysqli 的路径
  • --with-pdo-mysql=/usr/local/mysql //指定 pdo-mysql 的路径
[root@hanfeng php-5.6.30]# ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl  --with-openssl
  • 错误
checking for cc... no
checking for gcc... no
configure: error: in `/usr/local/src/php-5.6.30':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
  • 解决方法
yum install -y gcc
  • 错误
configure: error: xml2-config not found. Please check your libxml2 installation.
  • 解决方法
[root@hanfeng php-5.6.30]# yum install -y libxml2-devel
  • 错误
configure: error: Cannot find OpenSSL's <evp.h>
  • 解决方法
yum install -y openssl-devel
  • 错误
configure: error: Please reinstall the libcurl distribution -easy.h should be in <curl-dir>/include/curl/
  • 解决方法
yum install -y libcurl-devel
或
yum install -y curl curl-devel
  • 错误
configure: error: jpeglib.h not found.
  • 解决方法
yum install -y libjpeg-devel
  • 错误
configure: error: png.h not found.
  • 解决方法
yum install -y libpngyum install -y libpng-devel
  • 错误
configure: error: freetype-config not found.
  • 解决方法
yum install -y freetype-devel
  • 错误
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
  • 解决方法
yum install -y epel-releaseyum install -y libmcrypt-devel
  1. 可以echo $?检查是否初始化成功
[root@hanfeng php-5.6.30]# echo $?
0
[root@hanfeng php-5.6.30]# 
  1. 然后make && make install
[root@hanfeng php-5.6.30]# make && make instal
  1. 用echo $?检查是否成功
[root@hanfeng php-5.6.30]# echo $?
0
[root@hanfeng php-5.6.30]#
  1. 查看/usr/local/php-fpm/目录——>于/usr/local/php/目录项比较多了 sbin 和 var 目录
[root@hanfeng php-5.6.30]# ls /usr/local/php-fpm/
bin  etc  include  lib  php  sbin  var
[root@hanfeng php-5.6.30]# ls /usr/local/php-fpm/sbin/    //在sbin目录下有一个php-fpm文件,就是用来启动php-fpm的
php-fpm
[root@hanfeng php-5.6.30]# ls /usr/local/php-fpm/var/      //在var目录下有 log 和 run 文件,log文件存放日志的,run存放pid的,日志和pid路径都是可以指定的
log  run
[root@hanfeng php-5.6.30]#
  1. /usr/local/php-fpm/sbin/php-fpm 和 /usr/local/php-fpm/bin/php 的用法是基本一致的
/usr/local/php-fpm/sbin/php-fpm -m       查看模块
/usr/local/php-fpm/sbin/php-fpm -i
/usr/local/php-fpm/sbin/php-fpm -t          测试配置文件文件语法
  1. 用/usr/local/php-fpm/sbin/php-fpm -t 测试配置文件文件语法是否错误
[root@hanfeng php-5.6.30]# /usr/local/php-fpm/sbin/php-fpm -t
[03-Jan-2018 00:10:44] ERROR: failed to open configuration file '/usr/local/php-fpm/etc/php-fpm.conf': No such file or directory (2)
[03-Jan-2018 00:10:44] ERROR: failed to load configuration file '/usr/local/php-fpm/etc/php-fpm.conf'
[03-Jan-2018 00:10:44] ERROR: FPM initialization failed
[root@hanfeng php-5.6.30]# 
  1. 这里会提示配置文件并不存在,若想要启动php-fpm服务,首先需要去配置配置文件
  2. 拷贝cp php.ini-production /usr/local/php-fpm/etc/php.ini文件
  • 查看目录发现/usr/local/src/php-5.6.30 有2个配置文件

    • php.ini-development 适合开发环境使用
    • php.ini-production 适合生产环境使用
      • 两者区别在于,错误日志不同
[root@hanfeng php-5.6.30]# cp php.ini-production /usr/local/php-fpm/etc/php.ini
[root@hanfeng php-5.6.30]#
  1. 进入到/usr/local/php-fpm/etc/目录下
[root@hanfeng php-5.6.30]# cd /usr/local/php-fpm/etc/
[root@hanfeng etc]# ls
pear.conf  php-fpm.conf.default  php.ini
[root@hanfeng etc]#
  1. 编辑配置文件vim php-fpm.conf,或者直接把php-fpm.conf.default文件改名字为php-fpm.cnf——>这里直接新建写入的
[root@hanfeng etc]# vim php-fpm.conf去https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/php-fpm.conf拷贝样例拷贝到文件中
[global]                //全局配置
pid = /usr/local/php-fpm/var/run/php-fpm.pid                //定义PID
error_log = /usr/local/php-fpm/var/log/php-fpm.log        //错误日志
[www]                    //模块名字,启动服务的时候就能看到
listen = /tmp/php-fcgi.sock        //监听的地址
listen.mode = 666        //当监听的是sock的时候,这个语句才会生效,这个语句用来定义sock文件权限的
user = php-fpm        //用户,定义是哪个用户启动的
group = php-fpm             // 组,定义是哪个组启动的
pm = dynamic                    //进程相关信息
pm.max_children = 50                        //进程相关信息
pm.start_servers = 20                        //进程相关信息
pm.min_spare_servers = 5             //进程相关信息
pm.max_spare_servers = 35        //进程相关信息
pm.max_requests = 500         //进程相关信息
rlimit_files = 1024然后保存退出

linsten 可以监听sock、tcp 可以写成 linsten = 127.0.0.1:9000(默认端口就是9000,可自定义),一般监听的到是“127.0.0.1 ”IP,因为php-fpm这个服务是针对内部使用的、在本机上用的,也就是说Nginx和php通常是在一台机器上,两者之间通信直接使用内部网络就可以了;在这块选择的linsten配置不同,到之后的配置Nginx配置,也就是告诉Nginx到哪里找php的配置语句也是不同

  1. 进入到/usr/local/src/php-5.6.30/下,拷贝启动的脚本
[root@hanfeng etc]# cd /usr/local/src/php-5.6.30/
[root@hanfeng php-5.6.30]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@hanfeng php-5.6.30]#
  1. 加入到服务列表中,先更改权限,然后在chkconfig,最后在开机启动
[root@hanfeng php-5.6.30]# chmod 755 /etc/init.d/php-fpm
[root@hanfeng php-5.6.30]# chkconfig --add php-fpm
[root@hanfeng php-5.6.30]# chkconfig php-fpm on
[root@hanfeng php-5.6.30]# service php-fpm start
Starting php-fpm  done
[root@hanfeng php-5.6.30]# chkconfig --list注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。 如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。欲查看对特定 target 启用的服务请执行'systemctl list-dependencies [target]'。mysqld          0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole      0:关 1:关 2:关 3:关 4:关 5:关 6:关
network         0:关 1:关 2:开 3:开 4:开 5:开 6:关
php-fpm         0:关 1:关 2:开 3:开 4:开 5:开 6:关
[root@hf-01 php-5.6.30]#
  1. 查看php-fpm服务是否启动
[root@hanfeng php-5.6.30]# ps aux |grep php-fpm
root      2386  0.0  0.4 124184  4936 ?        Ss   17:04   0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
php-fpm   2387  0.0  0.4 124184  4700 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2388  0.0  0.4 124184  4700 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2389  0.0  0.4 124184  4700 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2390  0.0  0.4 124184  4700 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2391  0.0  0.4 124184  4704 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2392  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2393  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2394  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2395  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2396  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2397  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2398  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2399  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2400  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2401  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2402  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2403  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2404  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2405  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
php-fpm   2406  0.0  0.4 124184  4708 ?        S    17:04   0:00 php-fpm: pool www
root      2408  0.0  0.0 112676   988 pts/0    R+   17:04   0:00 grep --color=auto php-fpm
[root@hanfeng php-5.6.30]# 

12.5 Nginx介绍

Nginx介绍

  • Nginx官网 nginx.org,最新版1.13,最新稳定版1.12 (stable版本) //这个软件是有俄国人开发的,因为对静态文件的处理性能上比Apache强很多,所以在慢慢的取代Apache
  • Nginx应用场景:web服务、反向代理、负载均衡
  • Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大区别在于Tenging增加了一些定制化模块,在安全限速方面表现突出,另外它支持对js,css合并
  • Nginx核心+lua相关的组件和模块组成了一个支持lua的高性能web容器openresty,参考文章
  • Nginx虽然功能不多,但可以去扩展一些第三方的模块进来

扩展

  1. Nginx为什么比Apache Httpd高效:原理篇

  2. apache和nginx工作原理比较

  3. mod_php 和 mod_fastcgi以及php-fpm的比较

  4. 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM

概念了解

转载于:https://my.oschina.net/u/3707314/blog/1596128

Linux基础(day48)相关推荐

  1. 小猿圈Linux基础面试题,看看你能答对几道?

    最近身边的很多朋友都在学习linux,从最开始的安装软件都需要百度一天的他们,现在已经成长为了,不需要百度就可以把自己弄懵圈的了,接下来的几天小猿圈linux老师会为大家准备一些实用的linux技巧分 ...

  2. linux基础知识-链接列表

    linux基础知识-链接列表 1. 安装centos 7 1.1 Linux的初识 1.2 centOS 7安装教程 1.3 centOS 7配置ip和网络问题排查 1.4 PuTTY和Xshell远 ...

  3. linux基础知识_压缩—进程管理-网络管理-ftp-nfs-ssh-scp

    linux基础知识_压缩-进程管理-网络管理-ftp-nfs-ssh-scp 1.压缩包管理 gzip .gz格式的压缩包,不打包,分别压缩,原文件消失 bzip2 .bz2格式的压缩包,原文件不会消 ...

  4. 《嵌入式 Linux应用程序开发标准教程(第2版)》——第1章 Linux快速入门 1.1 嵌入式Linux基础...

    本节书摘来自异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...

  5. linux基础概念和个人笔记总结(6)

    防伪码:曾经梦想仗剑走天涯,回过头,却发现还是放不下家的牵挂 后续理论的验证图文详解,我会更新,希望大家可以参考 第十一章 FTP文件传输服务 1.FTP连接 控制连接:tcp21端口,用于发送ftp ...

  6. Linux基础第一周

    Linux基础第一周 命令的格式 command(命令)option(选项)arguments(参数)三部分组成,之间需要空格间隔 options 选项 启用命令的某项功能,从而更改命令的功能 arg ...

  7. 20155301 滕树晨linux基础——linux进程间通信(IPC)机制总结

    20155301 滕树晨linux基础--linux进程间通信(IPC)机制总结 共享内存 共享内存是在多个进程之间共享内存区域的一种进程间的通信方式,由IPC为进程创建的一个特殊地址范围,它将出现在 ...

  8. 鸟哥的linux 实训教程,鸟哥的Linux基础学习实训教程

    1.理想的Linux上机实践课程 每周一次.每次三小时的学与练 本书所有例题讲解,均经过鸟哥在大专院校实施多年来的测试,对于学生的理解具有相当满意的效果. 2. 提供一致性教学环境 让学习者不再有陌生 ...

  9. 第90节:Java中的Linux基础

    第90节:Java中的Linux基础 linux是装载虚拟机上面的: JDK依赖包: yum install glibc.i686MYSQL依赖包: yum -y install libaio.so. ...

  10. 《嵌入式 Linux应用程序开发标准教程(第2版)》——1.1 嵌入式Linux基础

    本节书摘来异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者:华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...

最新文章

  1. 51Nod1469 淋漓尽致子串
  2. 系统应用iPad设备应用需定制开发的3大理由
  3. if函数python_pythonif函数
  4. Deeplab unexpected label
  5. 为C程序员准备的0x10个最佳问题
  6. Bezier曲线扫盲
  7. 知识图谱够火,但底层技术环节还差点火候 | AI 技术生态论
  8. java制作风车图像的main方法_创意图形的绘制 会转的风车
  9. 经常会用到的ocr文字识别工具:Text Scanner for Mac
  10. 指向API的函数指针定义方法
  11. windows7系统适合哪个python_windows7如何下载python系统
  12. 计算机三级信息安全笔记(知识点)
  13. 政务云存储 备份方案_最佳的在线备份和云存储解决方案
  14. JavaScript函数式编程入门-计算器应用
  15. Mybatis执行插入语句后并返回主键ID
  16. SQL中的外键约束及多表查询
  17. 电商数据监测 都可以监测啥
  18. python 中画球体_python – 有效地绘制许多球体
  19. 算法总结-字典树(正在更新)
  20. matlab图片渲染,MATLAB图渲染:OpenGL与Painters?

热门文章

  1. 免付费688个人开发账号真机调试测试教程
  2. jpg转pdf在线转换方法速成
  3. 芯片手册中的英语言学——寄存器缩写命名方式探究
  4. 机器学习的核心概念置信度和置信区间,我用这个例子把它讲明白
  5. 01背包入门:HDU 3466 Proud Merchants
  6. 《论文阅读》BALM: Bundle Adjustment for Lidar Mapping
  7. 一文弄懂动态规划(DP Dynamic Programming)下楼梯,国王和金矿,背包问题,Dijkstra算法
  8. 职教云python程序设计答案_智慧职教云课堂Python程序设计基础(九江职业技术学院)答案公众号...
  9. ChatGPT写的语音播报程序
  10. 搜狗浏览器打开时会自动打开一个网页