问题导向:Linux下如何安装应用程序,以及部署一个网站?
Linux 软件安装
与windows系统对比:
系统 | 安装包格式 | 一键自动安装工具 | 实现方式 |
windows | .exe | 某软件管家 | 一键部署 |
linux | .rpm | yum工具 | 指令:yum install nginx -y (自动在yum搜索安装nginx) |
1、配置yum源
a. 安装一个自动化下载工具wget
yum install wget -y
b. 备份旧的yum源文件配置文件
先切换到:cd /etc/yum.repos.d/ 下,
再在该目录下创建一个repo-bak文件:mkdir repo-bak ,
再把repos.d下的所有内容移动到创建的repo-bak文件里面:mv ./* ./repo-bak/
c. yum仓库的选用及下载:
1选择yum软件仓库服务器,例如阿里云的yum仓库: 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区(上面b步骤是根据阿里云yum仓库配置的)
2下载阿里云yum源:(在上面的链接找到centos7镜像的下载链接复制到Linux里执行)
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
d.下载epel源:
(在上面的链接找到epel镜像的下载链接复制到Linux里执行)
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
e.最后一步检查阿里云的yum软件仓库配置文件
ls /etc/yum.repos.d 检查上面配置的文件是否成功
至此,yum源配置完成。
注意:随时更新yum源:
yum clean all
yum makecache
yum -y update
2、安装一个web软件nginx用于部署网站:
(一般正式生产中用编译安装)
yum install nginx -y
3、启动nginx应用程序,管理应用程序:(固定命令)
systemctl start nginx
sudo systemctl start nginx
sudo 为以root的权限来做事
4、验证nginx是否正确启动,检查机器进程信息以及端口信息:
a.检查进程:
ps -ef(参数)
进程太多,只想看到我们的nginx相关进程,查询nginx进程且只显示nginx相关信息,就用到linux的过滤命令以及管道符号用法:
将第一个检查进程ps -ef命令的结果,再交给第二个命令grep "nginx"去二次加工,grep命令用于搜索,过滤某些信息:
ps -ef | grep "nginx"
“|”表示通道
b.端口:
提供服务的一个窗口,就像取钱银行有个窗口一样, linux下某个应用程序,需要暴露的一个窗口,nginx应用程序,默认是使用80端口,提供服务
查看端口的用法,查看linux网络连接信息的命令:netstat -tunlp(参数)
同样过滤一下:
ss -tunlp | grep "nginx"
注意在一些新的 Linux 发行版中,ss 命令已经替代了 netstat
5、访问nginx服务页面:
语法是:“linux机器ip地址:80端口即可”
192.168........:80
访问失败的解决方法:
a. 考虑防火墙是否开启:
firewall-cmd --list-all #查看整体信息
systemctl start firewalld #开始防火墙
systemctl status firewalld #查看防火墙状态
systemctl stop firewalld #关闭防火墙
b.是否开放80端口:
#查询端口是否开放
firewall-cmd --query-port=8080/tcp
#开放80端口
firewall-cmd --permanent --add-port=80/tcp
#移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、–permanent:表示设置为持久;
3、–add-port:标识添加的端口;
c.检查配置文件:
sudo nginx -t 检查配置文件是否错误,语法,书写错误之类
如果修改了配置文件或发现了语法错误,应该重新启动 nginx 服务以使更改生效。使用命令 sudo service nginx restart 或 sudo systemctl restart nginx 来重启 nginx。
参考CSDN教程:Nginx配置使用详解_shstart7的博客-CSDN博客
d./var/log/nginx/查看日志
e.检查yum源
生产环境一般使用编译安装nginx,脚本编译安装前先创建 nginx的安装目录 检查阿里云的yum源和epel源是否已经配置成功/存在(建议)。
延伸问题:
--如何上传文件---MobaXterm工具,如何使用这个工具?如何使用WinSCP工具?(一个免费的开源SFTP、SCP、FTP和WebDAV客户端,用于在Windows操作系统上进行文件传输和远程管理。)
--nginx编译安装的实现过程?
脚本编译用到sh xxxx.sh 命令,脚本编译安装前先检查阿里云的yum源和epel源是否已经配置成功/存在。
--如何检测yum源以及如何修改、更新镜像yum源?
更新镜像源:
yum clean all
yum makecache
yum -y update
打开、重启nginx遇到的相关问题:
先检查配置文件是否正确
运行命令 "systemctl status nginx.service":这个命令将显示nginx服务的当前状态,包括任何错误或警告信息
如果80端口被其他进程占用,导致nginx无法绑定到该端口以使用 sudo netstat -tlnp | grep :80 命令检查端口80的占用情况,并停止占用该端口的进程。使用 sudo systemctl stop nginx 命令停止nginx服务,然后根据LISTEN后的进程ID:" sudo kill " 进程ID 去删除进程(sudo为root权限办事)