服务端ubuntu,nginx学习过程
相关操作指南,查看
《服务系统ubantu,nginx,vim,文件等操作流程》
1. 安装nginx
apt-get 和 apt 基本同理
sudo su root apt-get update apt-get install nginx nginx -v
// nginx version: nginx/1.18.0 (Ubuntu)
nginx启动:
service nginx start
ubuntu查看本机IP:
在网页重输入ip地址,即可看到nginx的欢迎页面。至此nginx安装成功。。。。
ip a
ip address
ip addr show
nginx操作:
nginx -s stop // 快速停止nginx nginx -s quit // 完整有序的停止nginx nginx -s reopen // 重新打开日志文件 nginx -s reload // 修改配置后重新加载生效
有时想知道nigix是否在正常运行,需要用linux命令查看nginx运行情况。
ps -A | grep nginx
如果返回结果的话,说明有nginx在运行,服务已经启动。
查看nginx配置文件
cat /etc/nginx/nginx.conf
默认资源目录
cd /var/www/html
查看nginx配置文件是否出错
nginx -t
保存后,重启nginx
sudo service nginx restart // 重启服务
修改nginx配置文件
vim /etc/nginx/nginx.conf
一般情况在在http下面添加或者修改server就可以了
server { # 监听访问的端口 listen 80; # 监听访问的域名/IP server_name localhost; # 默认范围资源路径 location / { # 访问的静态资源目录 root /var/www/html/; # 默认资源 try_files $uri $uri/ /index.html; # try_files $uri $uri/ =404; } # 代理访问 location /api { # 移除代理路径识别 rewrite /api/(.*) /$1 break; # 代理访问域名/IP:端口 proxy_pass http://localhost/; } location /smallbore { # 判断是否移动设备 # 重定向域名为 http://localhost/m/smallbore if ($http_user_agent ~* "Mobile") { rewrite (.*) http://localhost/m$1 last; } # 特指参数进行处理 if ($query_string ~* "id=123456") { rewrite ^/smallbore/(.*)/product/detail /smallbore/$1/product/detail?id=654321 permanent; } # 使用变量 # set $if_mobile false; rewrite /smallbore/(.*) /$1 break; proxy_pass http://localhost/pc; } # 特殊代理 location /hc { add_header Access-Control-Max-Age 36000; add_header Access-Control-Allow-Headers 'Origin, X-Requested-With, Content-Type, Accept,Authorization,authorization'; add_header Access-Control-Allow-Credentials true; include /etc/nginx/conf.d/common/proxy-default.conf; proxy_cookie_domain smallbore.com m.smallbore.com; proxy_cookie_path / /; proxy_pass http://localhost/hc; } }
重启后,刷新页面,前端部署完成。。。
2. 链接服务, 开启ssh服务
先检查SSH服务有没有开启, 如果没有反应或者其他结果,再试着开启SSH服务
sudo ps -e | grep ssh
启动服务
sudo /etc/init.d/ssh start
启动异常,安装SSH服务
sudo apt-get install openssh-server
等待安装结束即可。然后再次查看服务有没有启动。如果没有反应或者其他结果,再试着开启SSH服务。
部分ssh服务操作命令
sudo service ssh status // 查看服务状态 sudo service ssh stop // 关闭服务 sudo service ssh restart // 重启服务
ssh smallbore@ip 登录远程
最后是使用exit命令尝试退出,这里的效果和用Logout命令退出是一样的,当然exit命令比较短,输入也相对方便一些。以上就是ssh退出登录的方法
无法登录时查看 ssh配置文件,设置 PasswordAuthentication yes
vi /etc/ssh/sshd_config
PasswordAuthentication yes
root依旧无法登录
找到PermitRootLogin 修改为PermitRootLogin yes
退出登录
1. ~. (输入~后不会显示内容,随后输入.即可退出) 2. logout 3. exit
上传文件:
scp myexpress.zip root@ip:~/myexpress.zip
下载文件:
scp root@ip:~/myexpress.zip myexpress.zip
上传目录 scp -r xxx;
2. linux命令基础
命令行提示符介绍
[root@www ~]# [zhangsan@www ~]$
- #:使用超级用户root登录后的命令行结尾提示符
- $:使用普通用户登录后的命令行结尾提示符
- @前面的字符:代表当前登录的用户,可使用whoami查询
- @后面的字符:代表主机名,可使用hostname查询
- ~的位置:表示窗口当前用户所在的路径,可使用pwd命令查询
常用快捷键
快捷键 |
功能说明 |
tab |
补全命令或者路径 |
ctrl + r |
搜索命令行使用过的历史命令记录 |
ctrl + g |
从执行ctrl + r命令模式中退出 |
ctrl + a |
光标移动到行首 |
ctrl + e |
光标移动到行尾 |
ctrl + h |
删除光标前一个字符 |
ctrl + d |
删除光标后的一个字符,若命令行无字符,则会退出当前shell命令行 |
ctrl + u |
剪切(删除)光标处到行首的字符 |
ctrl + k |
剪切(删除)光标处到行尾的字符 |
ctrl + y |
粘贴以上两个命令剪切的内容 |
ctrl + insert |
复制命令行内容 |
shift + insert |
粘贴命令行内容 |
ctrl + l |
清除屏幕所有内容 |
ctrl + s |
锁定终端,使之无法输入内容 |
ctrl + q |
解锁锁定的状态 |
pwd:显示当前所在位置的信息
cd:切换目录
option |
说明 |
-P |
如果切换的目标目录是一个软连接,则会直接切换到软连接指向的真正的物理目标目录,不常用 |
-L |
功能与-P相反,如果切换的目标目录是一个软连接,则直接切换到软连接所在的目录,不常用 |
- |
若只使用“-”选项,则将会从当前目录切换到当前用户的上一次所在的目录路径 * |
~ |
若只使用“~”选项,则将会从当前目录切换到系统环境变量“HOME”对应值的目录路径,即当前用户的家目录所在的路径 * |
.. |
若只使用“..”选项,则将会从当前目录切换到当前目录的上一级目录所在的路径 * |
mkdir:创建目录
touch:创建文件或更改文件时间戳
ls:显示目录下内容及属性信息
option |
说明 |
-l |
使用长格式列出文件及目录信息 * |
-s |
显示目录下的所有文件,包括隐藏文件 * |
-t |
根据最后的修改时间进行排序,默认是以文件名进行排序的 * |
-r |
以相反顺序排序 * |
-d |
当遇到目录是,列出目录本身而非目录内的文件,并且不跟随符号链接 * |
-h |
以人类可读的信息显示文件或目录的大小 * |
-S |
根据文件大小进行排序 |
-R |
递归列出所有子目录 |
cp:复制文件或目录
-r |
递归复制目录,即复制目录下的所有层级的子目录及文件 * |
mv:移动或重命名文件
option |
说明 |
-f |
若目标文件已存在,则不会询问而是直接覆盖 |
-i |
若目标文件已存在,则会询问是否覆盖 |
-n |
不覆盖已经存在的文件 |
rm:删除文件或目录
option |
说明 |
-f |
强制删除,忽略不存在的文件,不提示确认 * |
-i |
在删除前需要确认 |
-r |
递归删除目录及其内容 * |
vi/vim:纯文本编辑器
vi是Linux命令行界面下的重要文字编辑器。vim是vi命令的增强版,例如,高亮显示代码、自动缩进等
【vim的三种模式】
(1)普通模式
用vim命令打开一个文件后,默认的状态就是普通模式。在这个模式中,不能进行编辑输入操作,但可以按“上下左右”键来移动光标,同时还可以执行一些操作命令进行如删除、复制、粘贴等工作
(2)编辑模式
在普通模式下不能进行编辑输入操作,只有按下“i,I,o,O,a,A,r,R,s,S”(其中“i”最为常用)等字母进入编辑模式后才可以执行录入文字等编辑操作。确定文件是否处于编辑模式状态有一个重要的特征,那就是在窗口的左下角要有插入的标记“--INSERT--”或“--插入--”
(3)命令模式
在普通模式下,输入“:”或“/”或“?”时,光标会自动定位在那一行,在这个模式中,可以执行保存、退出、搜索、替换、显示行号等相关操作
option |
说明 |
普通模式:移动光标的操作 |
|
G或(shift+g) |
将光标移动到文件的最后一行 |
gg |
将光标移动到文件的第一行 |
0 |
将光标从所在位置移动到当前行的开头 |
$ |
将光标从所在位置移动到当前行的结尾 |
n<Enter> |
n为数字,<Enter>为回车键,将光标从当前位置向下移动n行 |
ngg |
n为数字,移动到文件的第n行,如11gg可移动到第11行 |
H |
光标移动到当前窗口最上方的那一行 |
M |
光标移动到当前窗口中间的那一行 |
L |
光标移动到当前窗口最下方的那一行 |
普通模式:搜索与替换操作 |
|
/hello |
从光标位置开始,向下寻找名为hello的字符串 |
?hello |
从光标位置开始,向上寻找名为hello的字符串 |
普通模式:复制、粘贴、删除等操作 |
|
yy |
复制光标所在的当前行 |
nyy |
n为数字,复制光标开始向下的共n行 |
p/P |
p将已复制的数据粘贴到光标的下一行,P则为粘贴到光标的上一行 |
dd |
删除(剪切)光标所在的当前行 |
ndd |
n为数字,删除从光标开始向下共n行 |
u |
恢复(回滚)前一个执行过的操作 |
x/X |
x为向后删除字符,X为向前删除字符 |
dlG |
删除当前行至第一行 |
dG |
删除当前行至最后一行 |
d0 |
删除当前光标文本至行首 |
d$ |
删除当前光标文本至行尾 |
进入编辑模式命令 |
|
i |
在当前光标所在处插入文字 |
a |
在当前光标所在处的下一个字符处插入文字 |
I |
在当前所在行的行首的第一个非空格符处开始插入文字 |
A |
在当前所在行的行尾的最后一个字符处开始插入文字 |
Esc |
退出编辑模式,回到命令模式中 |
命令行模式 |
|
:wq |
退出并保存 |
:wq! |
退出并强制保存 |
:q! |
强制退出,不保存 |
:set nu |
显示行号 |
:set nonu |
取消行号 |
echo:显示输出文本内容
cat:合并文件或查看文件内容
more:分页显示文件内容
find:查找目录下的文件
参数选项 |
说明 |
path |
命令所查找的目录路径,如用“.”来表示当前目录,用“/”来表示系统根目录 * |
options模块 |
|
-depth |
从指定目录下最深层的子目录开始查找 |
-maxdepth levels |
查找的最大目录级数,levels为自然数 |
tests模块 |
|
-mtime [-n|n|+n] |
按照文件的修改时间来查找文件 *
|
-atime [-n|n|+n] |
按照文件的访问时间来查找文件,单位是天 |
-amin |
按照文件的访问时间来查找文件,单位是分钟 |
-mmin |
按照文件的修改时间来查找文件,单位是分钟 |
-group |
按照文件所属的组来查找文件 |
-name |
按照文件名查找文件,只支持“*”、“?”、“[]”等特殊通配符 * |
-regex |
接正则表达式 |
-type |
查找某一类型的文件 * |
actions模块 |
|
-delete |
将查找出的文件删除 |
! |
取反 * |
tar:打包备份
zip:打包和压缩文件
unzip:解压zip文件
ps:查看进程
kill:终止进程
ifconfig:配置或显示网络接口信息
ping:测试主机之间网络的连通性
telnet:远程登录主机
ssh:安全地远程登录主机
wget:命令行下载工具
curl:命令行文件传输工具
host:域名查询工具
nslookup:域名查询工具
没有终点,没有彼岸,坚持就好,愿岁月如初