Web部署指南
基础准备
服务器基本配置
对于一个新的服务器,通常使用的是Linux操作系统,例如:Ubuntu,CentOS等。一个新安装的服务器一般需要安装一些组件方便使用,这里以Ubuntu为例。
先执行sudo su
进入root
用户,设置修改密码执行:
sudo passwd
更新源列表
sudo apt-get update
htop
后台资源监控
- 安装:
apt install htop
- 使用
htop
make
- 安装
apt install make
gedit或vim
编辑
- 安装
apt install gedit
- 使用
gedit 文件路径
tree
方便浏览目录结构
- 安装
apt-get install tree
- 使用
tree
查看公网IP
通过访问ipconfig.co来查看
#更多用法访问ifconfig.co
wget -qO - ifconfig.co
通过curl来获取IP
如果没有curl,要先下载安装curl
sudo apt install curl
其次,使用下列命令中得一个来获取本地地址
curl cip.cc
curl http://members.3322.org/dyndns/getip
curl ip.6655.com/ip.aspx
curl ifconfig.me
curl icanhazip.com
curl ident.me
curl ipecho.net/plain
curl whatismyip.akamai.com
curl myip.dnsomatic.com
也可以查看ip和地区
#返回IP和地区
curl ip.6655.com/ip.aspx?area=1
curl cip.cc
静态私有IP配置
配置Linux系统的IP地址的方法,主要有以下三种:
- ifconfig
- setup
- 修改网卡的配置文件
1. ifconfig
命令名称:ifconfig
基本语法:ifconfig [网卡标识] [IP地址]
英文原意:interface configuration
执行权限:root
功能描述:查看或临时配置网卡信息
说明: ifconfig 命令主要是用来查看网卡的配置信息,因为用它来配置网卡的IP地址时,只会临时生效(Linux服务器重启后就会失效)。要想使本地网卡(eth0)的配置永久生效,需要修改其配置文件/etc/sysconfig/network-scripts/ifcfg-eth0。
先用ifconfig命令查看一下网卡的基本信息。
ifconfig
查看Linux服务器的网卡的相关信息。
结果如下:
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:3E:9C:06
inet addr:192.168.200.128 Bcast:192.168.200.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe3e:9c06/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2326 errors:0 dropped:0 overruns:0 frame:0
TX packets:520 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:161222 (157.4 KiB) TX bytes:51780 (50.5 KiB)
Interrupt:19 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
说明:
eth0 表示第1块本地网卡,它是按照数字顺序来命名的。
如果有第2块本地网卡,就叫eth1。
通常,我们主要会查看本地网卡的mac地址(HWaddr 00:0C:29:3E:9C:06)和IP地址(inet addr:192.168.200.128)。
lo 表示本地回环网卡。
如果你在查看网卡信息时,没有本地网卡eth0这一项。很可能是因为本地网卡默认没有启动。
可先修改它的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0。
加上如下代码,来启动Linux主机的本地网卡:
ONBOOT=yes
保存退出后,运行下面的命令,重启网络服务,使网卡配置文件立即生效:
service network restart
再来运行ifconfig即可。
如果本地网卡eth0已经启动,就可以用下面的命令临时设置IP地址:
ifconfig eth0 192.168.1.3
临时配置本地网卡eth0的IP地址,Linux重启就会失效。
这种配置ip的方式只能设置IP和子网掩码,估只适合内网(局域网)使用。
如果想连通外网,还必须设置网关和DNS。
2. setup
setup 命令是 redhat 系列的linux系统(如CentOS)中专有的命令工具。
可以使用 setup 命令,来对网络配置中的IP地址、子网掩码、默认网关、DNS服务器进行设置。而且,setup 网络配置工具设置的IP地址会永久生效。
命令名称:setup
命令所在路径:/usr/sbin/setup
执行权限:root
功能描述:配置网络
基本语法:setup
setup 命令是 redhat 系列的linux系统(如CentOS)中专有的命令工具。
使用 setup 命令来配置网络,会出现一个图形化的界面,操作起来非常方便。而且它支持的功能更多,除了网络配置外,还支持防火墙配置、系统服务和验证配置。
可以使用 setup 命令,来对网络配置中的IP地址、子网掩码、默认网关、DNS服务器进行设置。当然,你也可以使用DHCP(将该项的值设置为 * 即可)来自动获取IP、子网掩码和网关,前提是你家的路由器已经开启了DHCP服务(通常,路由器的DHCP服务都是默认开启的)。
使用 setup 命令修改了网络配置后,需要重启网络服务,使修改立即生效。命令如下:
service network restart
使用 setup 命令保存的网络配置,会永久生效。
3. 修改网卡的配置文件
本地网卡的配置文件为/etc/sysconfig/network-scripts/ifcfg-eth0。
直接修改网卡的配置文件,设置方法有两种:
- 自动获取动态IP地址
- 手工配置静态的IP地址
自动获取动态IP地址
也就是通过路由器的DHCP功能,使Linux主机自动获取IP地址。
设置方法如下:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
编辑本地网卡的配置文件
主要查看下面这两项是否和下面给出的一致即可。
ONBOOT=yes
BOOTPROTO=dhcp
第一项是确保本地网卡eth0开启。
第二项是使用dhcp,自动获取IP地址、子网掩码、网关和DNS。
然后,执行下面的命令,重启网络服务即可。
service network restart
重启网络服务,使配置文件生效
手工配置静态的IP地址
也就是手工配置IP地址、子网掩码、网关和DNS。
设置方法如下:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
编辑本地网卡的配置文件
主要查看下面这几项是否和下面给出的一致即可。
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.66
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
第二项表示不使用dhcp服务,如果是手动配置静态的ip地址,BOOTPROTO的值可以为none或者static。
第三项表示设置IP地址。
第四项表示设置子网掩码。
第五项表示设置网关。
第六项表示设置首选DNS服务器,其实DNS有自己的配置文件/etc/resolv.conf,在这里设置DNS,就是把它写入了DNS的配置文件/etc/resolv.conf。
然后,执行下面的命令,重启网络服务即可。
service network restart
远程连接配置
SSH Server安装
注意:ssh默认端口是22
- 安装
sudo apt-get install openssh-server
- 查看SSH是否启动;有sshd说明ssh服务已经启动
sudo ps -e |grep ssh
- 开启ssh服务
sudo service ssh start
- 停止服务
sudo service ssh stop
- 卸载ssh服务
sudo apt-get –purge remove sshd
使用vim修改配置文件
/etc/ssh/sshd_config
- 获取远程ROOT权限
sudo vim /etc/ssh/sshd_config
- 把配置文件中的
PermitRootLogin without-password
加一个”#”号,把它注释掉,再增加一句
PermitRootLogin yes
- 开始连接,重启ssh
sudo service ssh restart
远程连接
ssh 用户名@ip地址
或
ssh -p 22 用户名@ip地址
注意:连接不上先检查网络
ping www.baidu.com
网页资源与Web服务软件
网站资源上传
Vscode连接
通过vscode远程连接可以直接向服务器拖拽资源即可,但是这种方式不能传过大的文件,容易断开连接,具体vscode怎么连接服务器,下载安装remote插件即可。
终端工具连接
例如:开源的Putty,好用的Xshell远程连接服务器,XFTP远程管理上传文件,MobaXterm等shell工具
Web服务器软件安装配置
目前主流的Web服务器软件主要是Nginx。
- 检查端口被哪个进程占用
netstat -lnp|grep 88 #88请换为你需要的端口,如:80
- 杀掉编号为1777的进程(请根据实际情况输入)
kill -9 1777
Nginx一键式安装
- 安装
apt-get install nginx
- 一旦安装完成,Nginx 将会自动被启动。你可以运行下面的命令来验证它:
sudo systemctl status nginx
- 查看nginx是否安装成功
nginx -v
- 启动nginx
service nginx start
- 启动后,在网页重输入ip地址,即可看到nginx的欢迎页面。至此nginx安装成功
Nginx包安装
- 安装依赖包
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
# Ubuntu14.04的仓库中没有发现openssl-dev,由下面openssl和libssl-dev替代
#apt-get install openssl openssl-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
- 安装nginx
cd /usr/local
mkdir nginx
cd nginx
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz
- 编译nginx
# 进入nginx目录
/usr/local/nginx/nginx-1.13.7
# 执行命令
./configure
# 执行make命令
make
# 执行make install命令
make install
- 启动nginx
#进入nginx启动目录
cd /usr/local/nginx/sbin
# 启动nginx
./nginx
Nginx配置
安装成功Nginx默认路径是/usr/share/nginx/html
,最简单的方法是直接替换改路径文件为自己要部署的静态网页
或者进入配置文件修改
cd /etc/nginx
修改配置文件
vim nginx.conf
修改server
下的root
路径为服务器上自己上传的网页路径即可
- 重启nginx
ps -ef | grep nginx
kill -9 PID
service nginx start
或者
service nginx reload
具体nginx配置文件介绍参考:Nginx笔录
域名与SLL配置
域名
域名如果没有需要在阿里云,华为云等平台购买,并进行备案。
- 域名首先在购买的厂商上加解析记录值,让DNS服务器能够解析
- 在
nginx.conf
配置server
server
{
listen 80; #监听端口设为 80。
server_name test.creativecc.cn; #绑定您的域名。
index index.htm index.html index.php; #指定默认文件。
root /var/www/html/JackCC.Nav; #指定网站根目录。
}
SLL证书
- 购买免费证书:点这里👈
- 云平台:证书核验申请与校验
- 申请成功之后,之后配置需要用到pem和key文件,相应的文件下载在”已签发”这块,点击下载,选择Nginx版本下载之后就可以了。
- .crt文件:是证书文件,crt是pem文件的扩展名(有时候没有crt只有pem的,所以不要惊讶)
- .key文件:证书的私钥文件(申请证书时如果没有选择自动创建CSR,则没有该文件)
- .pem扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要修改扩展名。
建议在在
etc/nginx
目录中创建一个cert
目录,然后把下载下来的证书拷贝到/etc/nginx/cert
目录中
- 之后进入
./sites-enabled/
目录,创建一个文件为creativecc.cn
(取名为这个,是为了方便管理),之后把下面的内容复制粘贴
server {
listen 443 ssl;
server_name test.creativecc.cn;
root /var/www/html/JackCC.Nav;
index index.html index.htm;
ssl_certificate cert/6903723_creativecc.cn.pem;
ssl_certificate_key cert/6903723_creativecc.cn.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
index index.html index.htm;
}
}
需要注意一下几点:
server_name
需要配置为你自己的域名昂;root /var/www/html;
这个是你网站的所在的目录;ssl_certificate cert/dawnguo.cn.pem;
pem文件的路径;ssl_certificate_key cert/dawnguo.cn.key;
ket文件的路径;
http的重定向,为了在使用http访问站点时,能自动跳转到https访问,下面我们设置一下重定向
server {
listen 80;
server_name test.creativecc.cn;
rewrite ^(.*)$ https://test.creativecc.cn;
}
- 配好后发现:SSL证书无效
- 注意申请证书的域名必须对应,例如证书是
creative.cn
的,使用的是test.creativecc.cn
- 可能服务器没有配置安全组443端口开放
- 参考1:阿里云CDN提供HTTPS安全加速方案,只需要开启HTTPS后上传证书和私钥
- 参考2:部署了SSL证书后,为什么网站仍然提示不安全?
- 注意申请证书的域名必须对应,例如证书是
查看硬件信息
- 系统
uname -a # 查看内核/操作系统/CPU信息
head -n 1 /etc/issue # 查看操作系统版本
cat /proc/cpuinfo # 查看CPU信息
hostname # 查看计算机名
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备
lsmod # 列出加载的内核模块
env # 查看环境变量
- 网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息
- GPU
lspci | grep -i vga
lspci | grep -i nvidia #Nvidia显卡
lspci -v -s 00:0f.0 #查看指定显卡的详细信息用以下指令
nvidia-smi #Nvidia自带一个命令行工具可以查看显存的使用情况
sudo dpkg --list | grep nvidia-* #查看NVIDIA驱动版本
其他操作
- 添加用户
sudo useradd name
- 设置用户密码
sudo passwd name
重装系统
- U盘启动盘进入BOIS
- Dell:F2
- HP:F10
- 联想:由联想收购IBM而来的think pad系列,一般热键是Enter或者F1,有些比较老的机器是Del和F2.
- Acer和Asus:一般都是F2
Linux查看序列号
dmidecode -t1
- 内网穿透