Linux3
︴免费虚拟虚拟主机(空间)
注册获取账号密码
2、通过FTP软件远程连接
网页快速拨号:<a href=”tel:1665466545″>手机打开点击拨号</a>
页面广告,可以用js移除
虚拟主机老程序员喜欢叫(空间) 云服务器老程序叫(vps)
js验证后可以非法操作,所以php务必验证
网页分享插件,如:百度分享等
SSH服务
说明
SSH是英文Secure Shell简写,通过使用SSH可以把传输的数据进行加密。
FTP 基于TCP来传输文件,明文传输用户信息和数据。
SFTP 基于SSH来加密传输文件,可靠性高, 可断点续传。
SCP 基于SSH来加密拷贝文件,可靠性高,不可断点续传(必须知道传输目录)。
SFTP和SCP协议区别(简单概括)
1)SCP比较简单,是轻量级的,SFTP的功能则比较多
2)SFTP可断点续传,SCP不可以
SSH服务进程(管理SSH服务)
- SSH服务进程名为:sshd
在linux中一般软件的进程名都是在名称后面+d,如:
mysql(mysqld)、apache(httpd)
- 管理服务经常:service 服务器名称 restart/stop/start
3、SFTP命令
登录命令:sftp 账号@服务器ip地址 (注:回车后输入密码)
上传命令:put 本地文件 远程文件
获取命令:get 远程文件 本地文件
退出命令:quit exit ctrl + c
案例:登录
案例:上传
案例:获取
4、SCP命令
上传命令:scp 本地文件 账号@服务器ip地址:远程文件
获取命令:scp 账号@服务器ip地址:远程文件 本地文件
案例:上传
案例:获取
使用第三方软件上传下载
端口
MySQL 3306
Apache 80
FTP 21
SFTP 22
SCP 22
2)putty
3)WinSCP(sftp、scp)
Linux系统软件的安装与卸载
1、Window常见安装软件方法
- 下载软件:本地双击安装
- 杀毒软件:傻瓜式一键安装
2、Linux常见安装软件方法
1、rpm安装:下载rpm软件包,(rpm是二进制软件包,后缀.rpm)
rmp安装快,但是安装和卸载有大量依赖
- 源代码编译安装:下载源代码软件包,(后缀.tar.gz 或者 .tar.bz2)
安装慢,但是自定义强
- yum安装:相当于杀毒软件傻瓜式一键安装
必须上网,不能指定安装目录
3、rpm、yum和 源代码编译 方式优缺点
1)二进制软件包(rpm)
说明:安装简单,安装速度快
缺点:自定义性差,依赖性强
举例:比如安装 A 软件,提示先要安装B软件,安装B软件,又提示先安装C软件,安装C软件,又提示先安装D软件。
2)源代码编译安装 (后缀.tar.gz 或者 .tar.bz2)
说明:开源,自由定制
缺点:编译时间较长(先将源代码->编译->二进制文件->安装),一旦报错解决困难。
3)智能 yum方式
说明:要求服务器有网络,不灵活,不可以设置自己需要的具体软件版本。
例如:
安装PHP:【yum -y install php】
安装Git:【 yum -y install git】
安装vim:【yum -y install vim 】
卸载软件:yum -y remove 包名
二进制软件包和源代码编译安装命令
1)rpm命令
安装: rpm -ivh 包全名
说明: i-安装(install), v -详细信息, h-安装进度
卸载: rpm -e 包全名 (注:–nodeps 强制卸载)
查看所有rpm所有安装软件:rpm -qa 名称 (query all)
查看指定软件是否安装:rpm -qa | grep 搜索的名称
2)tar命令
- 说明:tar.gz和tar.bz2相当于win的zip和rar格式
- 【 .tar.gz】解压命令:tar -zxvf 包名
- 【 .tar.gz】压缩命令:tar -zcvf 包名 待打包的文件
- 【.tar.bz2】解压命令:tar -jxvf 包名
- 【.tar.bz2】压缩命令:tar -jcvf 包名 待打包的文件
- 参数:
- z – 代表tar.gz j – 代表tar.bz2
- x – 解压 c – 打包
- v – 显示详细信息
- f – 后面必须写包名
三、挂载
1、什么是挂载
在Linux插入外部设备无法直接访问,需要通过手动挂载到指定目录中才可以查看
挂载:因为外部设备在Linux中变成文件,我们需要获取外部设备里面的东西,就通过映射文件到指定目录,从而获取的表现称之为挂载
语法
挂载:mount 挂载文件 挂载目录
取消:umount 已挂载目录
通过挂载光驱安装firefox
- 连接光驱
- 创建挂载目录并挂载
mkdir /mnt/php12
mount /dev/cdrom /mnt/php12
cd /mnt/php12
ls | grep firefox
- 测试安装挂载目录中的Firefox(rpm包)
步骤1:先卸载
步骤2:安装
rpm -ivh 包全名 (注:如何知道包全名 【rpm -qa | grep firefox】 #搜索一下)
上午总结
一、虚拟主机
&网页快速拨号:<a href=”tel:1665466545″>手机打开点击拨号</a>
&页面广告,可以用js移除
&虚拟主机老程序员喜欢叫(空间) 云服务器老程序叫(vps)
&js验证后可以非法操作,所以php务必验证
&网页分享插件,如:百度分享等
===================================================
【本地给linux上传文件】
二、SSH
SSH协议:加密传输
FTP协议:明文传输
SFTP协议:基于SSH协议,加密传输文件
SCP协议:基于SSH协议,加密传输文件
—————————-
SCP和SFTP区别:SFTP功能比SCP强大,SFPT支持断点续传
——————–
【SFTP命令】
登录:sftp 账号@服务器ip地址 (注:回车后输入密码)
上传:put 本地文件 远程文件
获取:get 远程文件 本地文件
退出:quit 或 exit
留心:-r 递归, . 表示全部文件
——————–
【SCP命令】
上传:scp 本地文件 账号@服务器ip地址:远程文件
获取:scp 账号@服务器ip地址:远程文件 本地文件
留心:-r 递归, * 表示全部文件
===================================================
【Linux如何安装软件】
#window有两种,分别为: 手动下载软件到本地双击安装,或通过杀毒软件的软件管家
#linux有三种:
1)rpm包安装(后缀是rpm):好处快,瑕疵依赖强
2)源代码包(后缀tar.gz或tar.bz2):好处自已强,坏处安装慢麻烦
3)yum安装(相当于win软件管家):需要上网,并且不能自定义
【Linux安装软件命令】
#yum命令
安装:yum -y install 名称
卸载:yum -y remove 名称
#rpm
安装:rpm -ivh 包全名 (i 安装,v 详细信息 h 进度)
卸载:rpm -e 包全名 (注:强制删除 –nodeps)
查看所有包:rpm -qa (q query a all)
查看指定包:rpm -qa | grep 搜索的关键词包名
#源代码包(相当于win的zip或者rar文件)
【tar.gz】解压:tar -zxvf 包名.tar.gz
【tar.gz】打包:tar -zcvf 包名.tar.gz 待打包文件
【tar.bz2】解压:tar -jxcf 包名.tar.bz2
【tar.bz2】打包:tar -jcvf 包名.tar.bz2 待打包文件
参数:
z – tar.gz包 j – tar.bz2包
x – 解压 c – 打包
v – 信息
f – 必须后面写包名
=====================================
挂载:因为linux硬件皆文件,当光盘连接时候无法获取里面的内容,这时候
通过将文件映射到目录中方可获取,这种表现叫挂载
挂载命令:mount 文件 挂载目录
取消挂载:umount 挂载目录
案例:测试firefox
四、LAMP安装(带注释)
1、准备
1)关闭防火墙
- 说明
一台计算机访问另一台计算机上的软件必须必须关闭防火墙或者添加防火墙例外
- 关闭防火墙(学习)
service iptables stop
- 添加防火墙例外(线上)
#打开文件
vim /etc/sysconfig/iptables
#输入下属代码,分别设置80、3306防火墙例外
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
2)卸载默认安装apache 、mysql
- 说明:Linux或者MAC系统安装时自带PHP运行环境
- 语法:rpm -e 包名 –nodeps
- 参数:–nodeps可选参数,Linux存在文件依赖通过该参数可进行强力删除
3)环境目录说明(便于后期管理)
# 创建目录
mkdir -p /php/tools
mkdir -p /php/wwwroot
mkdir -p /php/server/php
mkdir -p /php/server/mysql
mkdir -p /php/server/apache
mkdir -p /php/server/data # MySQL数据存放目录
安装说明
Window Apache -> PHP -> MySQL (MySQL配置麻烦)
Linux MySQL -> Apache -> PHP (PHP依赖GD2麻烦)
安装MySQL
安装cmake
shell> cd /php/tools/mysql #进入tools目录
shell> tar zxvf cmake-2.8.5.tar.gz #解压cmake安装包
shell> cd cmake-2.8.5 #进入解压目录
shell> ./bootstrap
shell> make && make install #源代码文件 -> 进行编译 -> 二进制文 && 安装
2)安装ncurses-devel(MySQL依赖)
shell> cd /php/tools/mysql #进入tools目录
shell> rpm -ivh ncurses-devel-5.7-3.20090208.el6.i686.rpm #通过rpm命令安装
3)安装MySQL
shell> cd /php/tools/mysql #进入tools目录
shell> tar -zxvf mysql-5.6.35.tar.gz #解压MySQL安装包
shell> cd mysql-5.6.35 #进入解压目录
shell> #配置
cmake \
-DCMAKE_INSTALL_PREFIX=/php/server/mysql \
-DMYSQL_DATADIR=/php/server/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
shell> make && make install #源代码文件 -> 进行编译 -> 二进制文 && 安装
- 复制配置文件 并 修改
#步骤1:复制配置文件
\cp -f support-files/my-default.cnf /etc/my.cnf
#步骤2:修改配置文件声明MySQL数据存放目录
#打开/etc/my.cnf文件
vi /etc/my.cnf
#在[mysqld]下设置这一行:datadir = /php/server/data
- 创建MySQL用户组并创建用户加入用户组
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
- 将mysql文件的拥有者改为mysql组的mysql用户
chown -R mysql:mysql /php/server/data/
chown -R mysql:mysql /php/server/mysql/
#说明:工作中需要管理mysql 通过root用户显然权限太大,所以单独新建mysql用户管理(后面等初始化数据后,将msyql安装目录的主人改为root用户,因为生产环境中只需要针对 data 数据目录有写权限)
- 初始化数据库
/php/server/mysql/scripts/mysql_install_db \
–basedir=/php/server/mysql \
–datadir=/php/server/data \
–user=mysql
- 把mysql安装文件(除了data)的主人都改为root,避免数据库恢复为出厂设置。
chown -R root /php/server/mysql
- &后台运行mysql服务
/php/server/mysql/bin/mysqld_safe –user=mysql &
- 查看mysql是否有启动
ps -A | grep mysql
- 初始化,设置root帐户的密码
#初始化数据
/php/server/mysql/bin/mysql -uroot -p
drop database test; — 删除测试数据库
delete from mysql.user where user=”; — 删除本机匿名连接的空密码帐号
# 修改密码
update mysql.user set password=password(‘admin888′) where user=’root’;
flush privileges;
多学一招:忘记密码,强制修改密
1、打开mysql配置文件
> vi /etc/my.cnf
2、在[mysqld]下一行添加 skip-grant-tables
3、重启mysql服务 (查看服务进程,结束进程,启动服务)
4、重新登陆mysql(因为上面的操作,这时密码为空)
5、修改密码
6、删除mysql配置文件:my.cnf 中刚添加的: skip-grant-tables
7、再重启 msyql服务即可
安装Apache
1)安装zlib
shell> cd /php/tools/apache #进入tools目录
shell> tar zxvf zlib-1.2.5.tar.gz #解压zlib安装包
shell> cd zlib-1.2.5 #进入解压目录
shell> ./configure #这个配置编译命令不要加目录参数
shell> make && make install #源代码文件 -> 进行编译 -> 二进制文 && 安装
2)安装apache
shell> cd /php/tools/apache #进入tools目录
shell> tar -jxvf httpd-2.2.19.tar.bz2 #解压apache安装包
shell> cd httpd-2.2.19 #进入解压目录
shell> #配置
./configure –prefix=/php/server/apache \
–enable-modules=all \
–enable-mods-shared=all \
–enable-so
shell> make && make install #源代码文件 -> 进行编译 -> 二进制文 && 安装
说明:
–enable-modules=all // 编译所有模块
–enable-mods-shared=all // 动态编译,动态加载所有模块,httpd.conf中默认会动态加载51个模块(以LoadModule 开始的方式)
–enable-so // 参数是使httpd服务能够动态加载模块功能,让 Apache 可以支持DSO模式,注意,这里采用的是 Apache2.0 的语法。如果你的Apache 是1.3版本,应改为–enable-module=so(打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块)
【静态编译和动态编译】
静态编译其实就是编译的时候所有的模块自己编译进httpd 这个文件中,启动的时候这些模块就已经加载进来了,也就是可以使用了,通常:<ifmodule> </ifmodule> 来配置。所以大家看到的配置都是<ifmodule module.c>,很显然,module.c这个东西已经存在httpd这个文件中了。
那么动态显然就不编译进去了,也就是你启动的时候根本不会加载这个模块, 而是给你一个module.so 文件,你一定要使用 LoadModule这个语法来加载,这个模块才有效。
区别:静态的模块通常是在httpd.conf文件中使用<ifmodule></ifmodule> 来配置, 动态使用LoadMoule来加载,然后再配置。
■启动Apache
- shell> /php/server/apache/bin/apachectl start/stop/restart
httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain for ServerName
解决:
#打开apache配置文件
vi /php/server/apache/conf/httpd.conf
#修改配置文件
#重启apache
/php/server/apache/bin/apachectl restart
■测试
浏览器打开: http://虚拟机IP
看到 “it works!”,即为成功
■配置虚拟主机
- 步骤1:配置host文件
打开C:/windows/system32/drivers/etc/hosts 文件
增加域名记录
如:
192.168.xxx.xxx www.one.com
192.168.xxx.xxx www.two.com
- 步骤2:增加虚拟主机
vi /php/server/apache/conf/httpd.conf
引入自定义虚拟主机
Include conf.d/*.conf
保存退出
【增加虚拟主机记录1】
vi /php/server/apache/conf.d/one.conf
NameVirtualHost *:80
<VirtualHost *:80>
# 需要绑定的域名(改1)
ServerName www.one.com
# 绑定多个域名
# 设置默认的访问的页面
DirectoryIndex index.php index.html index.htm
# 指定网站/站点目录(虚拟主机)(改2)
DocumentRoot “/php/wwwroot/one/”
# 指定目录的权限(改3)
<Directory “/php/wwwroot/one/”>
# 如果首页不存在,则显示目录列表(Options Indexes FollowSymLinks)
Options Indexes FollowSymLinks
# 允许哪些IP访问虚拟主机
Allow from All
</Directory>
</VirtualHost>
【增加虚拟主机记录2】
vi /php/server/apache/conf.d/two.conf
<VirtualHost *:80>
# 需要绑定的域名(改1)
ServerName www.two.com
# 绑定多个域名
# 设置默认的访问的页面
DirectoryIndex index.php index.html index.htm
# 指定网站/站点目录(虚拟主机)(改2)
DocumentRoot “/php/wwwroot/two/”
# 指定目录的权限(改3)
<Directory “/php/wwwroot/two/”>
# 如果首页不存在,则显示目录列表(Options Indexes FollowSymLinks)
Options Indexes FollowSymLinks
# 允许哪些IP访问虚拟主机
Allow from All
</Directory>
</VirtualHost>
- 步骤3:重启apache
/php/server/apache/bin/apachectl restart
- 步骤4:浏览器打开www.one.com,和www.two.com
看到不同的网站内容,虚拟主机创建完毕!
安装PHP
■说明:安装图形库,为编译PHP做准备
libxml2-2.7.2.tar.gz
jpegsrc.v8b.tar.gz
libpng-1.4.3.tar.gz
freetype-2.4.1.tar.gz
gd-2.0.35.tar.gz
1)安装libxml2
shell> cd /php/tools/php
shell> tar zxvf libxml2-2.7.2.tar.gz
shell> cd libxml2-2.7.2
shell> ./configure –prefix=/php/server/libxml2 –without-zlib
shell> make && make install
2)安装jpeg8
shell> cd /php/tools/php
shell> tar -zxvf jpegsrc.v8b.tar.gz
shell> cd jpeg-8b
shell> ./configure –prefix=/php/server/jpeg –enable-shared –enable-static
shell> make && make install
–enable-shared 把jpeg需要的函数库程序都编译到该软件里边
优点:函数调用速度快
缺点:软件本身比较大
–enable-static 静态方式函数处理,需要什么函数,马上include来
优点:软件本身比较小
缺点:函数调用速度慢
3)安装libpng
shell> cd /php/tools/php
shell> tar zxvf libpng-1.4.3.tar.gz
shell> cd libpng-1.4.3
shell> ./configure –prefix=/php/server/png
shell> make && make install
4)安装freetype(字体库)
shell> cd /php/tools/php
shell> tar zxvf freetype-2.4.1.tar.gz
shell> cd freetype-2.4.1
shell> ./configure –prefix=/php/server/freetype
shell> make && make install
5)安装GD库
shell> cd /php/tools/php
shell> tar -zvxf gd-2.0.35.tar.gz
shell> mkdir -p /php/server/gd
shell> cd gd-2.0.35
shell> ./configure –prefix=/php/server/gd \
–with-jpeg=/php/server/jpeg \
–with-png –with-zlib \
–with-freetype=/php/server/freetype
shell> make && make install
6)安装PHP
shell> cd /php/tools/php
shell> tar -zxvf php-5.6.31.tar.gz
shell> cd php-5.6.31
shell> 配置复制
./configure –prefix=/php/server/php \
–with-apxs2=/php/server/apache/bin/apxs \
–with-mysql=mysqlnd \
–with-pdo-mysql=mysqlnd \
–with-mysqli=mysqlnd \
–with-freetype-dir=/php/server/freetype \
–with-gd \
–with-zlib –with-libxml-dir=/php/server/libxml2 \
–with-jpeg-dir=/php/server/jpeg \
–with-png-dir=/php/server/png \
–enable-mbstring=all \
–enable-mbregex \
–enable-shared
下面是说明
./configure –prefix=/php/server/php \
–with-apxs2=/php/server/apache/bin/apxs \
–with-mysql=mysqlnd \
–with-pdo-mysql=mysqlnd \
–with-mysqli=mysqlnd \
说明:mysqlnd替代mysql安装目录参数值,动态激活php本身的mysql驱动
–with-freetype-dir=/php/server/freetype \
–with-gd=/php/server/gd \
–with-zlib –with-libxml-dir=/php/server/libxml2 \
–with-jpeg-dir=/php/server/jpeg \
–with-png-dir=/php/server/png \
–enable-mbstring=all \
# 支持mbstring函数库
–enable-mbregex \
# 支持正则表达式
–enable-shared
# 生成动态链接库,又称为共享库,即编译时只对库进行简单的引用而不载入程序,在程序运行时才将动态库中的代码载入内存使用,因此使用动态库的程序在运行时需要其相关的动态库都存在。
linux中,动态库的命名通常是*.so
(注:扩展说明,有道云:linux c语言开发php扩展)
shell> make && make install
■配置Apache支持PHP
- 步骤1:复制php.ini配置文件到指定目录
shell> \cp -f php.ini-development /php/server/php/lib/php.ini
- 步骤2:修改Apache配置文件
shell> vi /php/server/apache/conf/httpd.conf
#在httpd.conf(Apache主配置文件)中增加:AddType application/x-httpd-php .php
#重启apache
/php/server/apache/bin/apachectl stop
/php/server/apache/bin/apachectl start
#再次浏览器查看http://虚拟机IP 如果看到php信息,工作就完成了!
■管理
1)MySQL
【mysql配置文件】
/etc/my.cnf
【开启mysql服务】
/php/server/mysql/bin/mysqld_safe –user=mysql &
【关闭mysql服务】
ps -A | grep mysql # 查看mysql进程
kill -9 进程PID 进程PID # 结束进程 关闭mysql服务
【登陆MySQL数据库】
/php/server/mysql/bin/mysql -uroot -p
2)Apache
/php/server/apache/bin/apachectl start
/php/server/apache/bin/apachectl stop
/php/server/apache/bin/apachectl restart
︴扩展:阿里云服务器的操作
1、了解阿里云
1)阿里云
https://www.aliyun.com/ 服务器供应商
2)实现注册功能
注册网址 https://account.aliyun.com/register/register.htm
3)购买阿里云服务器
——————————————————————————-
2、阿里云服务器管理
1)查看阿里云的公网ip
远程管理
重启/开启
4)重装系统
3、在阿里云上安装lamp环境
yum -y install php httpd mysql mysql-server
http配置文件:/etc/httpd/conf/httpd.conf(AddType application/x-httpd-php .php)
http管理:service httpd start/stop/restart
http默认虚拟主机:/var/www/html
mysql管理:service mysqld start/stop/restart
修改默认的root密码:/usr/bin/mysqladmin -u root password ‘123456’
登录mysql:/usr/bin/mysql -u用户名 -p密码
︴扩展:工作中常用的指令
【find】命令
- 作用:搜索指定文件
- 语法:find 目录 -name 指定文件名
- 场景:加入工作,需要查看对应lamp工作目录以及配置文件
管道“|” ☆
- 作用:将管道“|”左侧的信息,进行筛选
- 语法:# ls | grep zs
【du -h [路径]】命令
- 作用:查看目录大小
- 说明:路径可选参数,默认当前目录
【df -h】磁盘占用
linux下关闭指定软件 ☆
- ps -A 查看系统活跃进程process
- ps -A | grep 软件 查看指定软件进程
- kill -9 pid 杀死指定进程
- killall 进程名