服务器部署开发环境(Ubuntu 16.04 64位)

一、使用命令行登录服务器

1、检查是否安装了SSH工具

Win+R运行cmd打开命令行窗口Powershell(MAC端为Terminal)
Windows用户需要检查是否安装了SSH工具:

ssh -v

若已安装会显示ssh的说明文档
在这里插入图片描述
否则,需要安装:OpenSSH工具

2、连接服务器

购买云服务器后,我们会获得一个服务器的公网IP地址
在命令行终端输入命令:

ssh 用户名@公网IP地址	//用户名默认为root,Apache默认监听20端口
如ssh root@321.321.321.321

在这里插入图片描述
输入yes,回车并输入服务器密码,登录成功
在这里插入图片描述

二、安装和使用Apache服务

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有计算机平台上,因其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。云服务器像一个放apache的容器,而apache又像一个放web程序的容器。

1、更新源:

apt update

apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。
apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
apt 命令执行需要超级管理员权限(root)。

apt语法扩展:

apt [options] [command] [package ...]
options:可选,选项包括 -h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package:安装的包名。
常用命令:
列出所有可更新的软件清单命令:sudo apt update  (sudo是以root权限运行)
升级软件包:sudo apt upgrade
列出可更新的软件包及版本信息:apt list --upgradeable
升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade
安装指定的软件命令:sudo apt install <package_name>
安装多个软件包:sudo apt install <package_1> <package_2> <package_3>
更新指定的软件命令:sudo apt update <package_name>
显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>
删除软件包命令:sudo apt remove <package_name>
清理不再使用的依赖和库文件: sudo apt autoremove
移除软件包及配置文件: sudo apt purge <package_name>
查找软件包命令: sudo apt search <keyword>
列出所有已安装的包:apt list --installed
列出所有已安装的包的版本信息:apt list --all-versions

2、安装apache2服务:

apt install apache2

apache2为一个静态服务器(同还有Nginx,通过编译、链接安装,较为麻烦)

3、可以添加html页面用于访问

安装好Apache2服务后我们用浏览器打开服务器的IP地址,可以看到一个Apache的介绍文档
在这里插入图片描述
在介绍文档内我们可以看到/var/www/html/index.html这个文件,它是Apache的部署文件(服务器IP地址首页)
可以通过更改index.html这个文件来更换我们想要显示在服务器首页的页面

touch test.html

上述命令:修改文件或者目录的存取时间或更改时间,若文件不存在则创建该文件
执行后页面可以通过在IP地址后添加“/文件名”来访问,如http://123.123.123.123/test.html

touch命令语法拓展:

touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
参数说明:
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 列出指令格式。
--version 列出版本讯息。

三、通过本地使用scp命令将本地的代码上传到服务器

Linux scp 命令用于 Linux 之间复制文件和目录。
scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。

scp 本地文件路径 远程账号@远程ip:远程地址
如: scp d:/test/hello.html root@123.123.123.123:~
~:表示放在root用户的加目录(/root/)下
再将文件移动到/var/www/html/目录
mv ./hello.html /var/www/html
也可以直接指定存放到/var/www/html/目录: scp d:/test/hello.html root@123.123.123.123:/var/www/html

scp命令扩展
语法:

scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2
简易写法:scp [可选参数] file_source file_target 
参数说明:
-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p:保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port:注意是大写的P, port是指定数据传输用到的端口号
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

实例:

从本地复制到远程(若为远程复制到本地,只要将后2个参数调换顺序)
1.1 复制文件:
scp local_file [remote_username@]remote_ip:remote_floder/remote_file
remote_username@:用户名,自行选择是否指定,如果没有指定执行命令后还是要指定
remote_floder/remote_file:remote_floder只指定了远程的目录,文件名字不变;remote_file指定了文件名(路径可更换为相对路径)
如: scp /home/space/music/1.mp3 [root@]www.runoob.com:/home/root/others/music[/001.mp3]
带root@说明指定了用户名,带/001.mp3说明指定了文件名
1.2 复制目录:
scp -r local_folder [remote_username@]remote_ip:remote_folder 
如将本地music目录复制到远程others目录下: scp -r /home/space/music/ [root@]www.runoob.com:/home/root/others/ 
1.3 说明
(1)如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:
#scp 命令使用端口号 4588
scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator
(2)使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

四、安装和配置MySQL数据库

1、安装MySQL数据库

apt install mysql-server-5.7

后设置MySQL密码即可

  • 登录:
mysql -uroot -p

后输入密码即可

2、修改系统数据配置,使可以远程登录

进入数据库后,通过show databases可以查看到有一个名为mysql的数据库,这个数据库存储的数据是mysql在工作中需要使用的。在这个数据库里有个user表,我们要将这个user表里面root用户的host列更改为%(匹配的所有的地址,原为localhost),授予root用户远程管理权限

show databases;
use mysql;
show tables;
desc user;	//查看user表数据
select user,host from user;
update user set host='%' where user = 'root';

在这里插入图片描述

3、编码以及远程登录配置

退出mysql登录,在系统修改MySQL的配置文件

vi /etc/mysql/my.cnf

将文件内原有生效内容删除,然后粘贴以下配置

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
max_connections=1000

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

bind-address=0.0.0.0

default-character-set=utf8:默认字符集编码格式,使创建出来的数据库默认是utf8编码格式
max_connections:最大连接数
bind-address=0.0.0.0:bind-address绑定的地址,0.0.0.0代表所有的地址,所有的IP都允许连接该服务器
在这里插入图片描述
重启MySQL服务

service mysql restart

在这里插入图片描述
如果报错了请检查my.cnf配置文件

4、关闭服务器3306端口(MySQL的端口)的防火墙

在实例列表内选择操作 - 更多 - 网络和安全组 - 安全组配置
在这里插入图片描述
配置规则
在这里插入图片描述
快速添加,选择MySQL即可
在这里插入图片描述
配置完成,此时非本机也可以访问我们的数据库,接下来我们通过可以通过自己电脑的navicat连接到数据库
在这里插入图片描述

小扩展

1、添加普通管理员账户

adduser 用户名
如 adduser admin

然后按顺序输入密码等用户个人信息即可即可(这部分的信息可以为空)
在这里插入图片描述
其中,我们可以根据命令行输入的前缀符号(如“#”、“$”和“>”)区分我们目前使用的是什么类型的用户(身份)
“#”: linux终端 超级管理员
“$”:linux终端 普通用户
“>”: windows终端
mysql >:mysql终端
更换用户:

su - 用户名		//无用户名默认切换到超级管理员
如 su - test2

2、服务器系统根目录下文件夹简介

/etc 存放配置文件
/root 超级管理员账户目录
/home/ 普通管理员家目录
/var
/opt
/usr

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值