1 cd root/(或者cd ~)
2 yum -y install nginx
成功安装nginx
ali文档yum的tips:
1、通过如下格式指令进行软件的安装:
yum install -y <待安装软件名>
2、通过如下格式指令进行软件卸载:
yum remove -y <待卸载软件名>
3、通过 yum search 来查找命令具体属于哪个包。
比如安装常用的 rz sz 软件,通过 yum install rz 或 yum install rzsz等都无法找到,通过yum searh rz 即可找到,可以看到 rz sz 软件属于 lrzsz 这个包。之后再通过 yum install lrzsz 即可安装。
4、通过yum clean 命令清除 yum 的缓存信息。
yum clean packages 清除缓存中的 RPM 包文件
yum clean headers 清楚缓存中的 RPM 包头文件
yum clean all 清楚缓存中的 RPM 包和头文件(相当于同时执行上述两条命令)
5、更多相关 YUM 的命令功能可以通过 yum —help 进行查看
3 yum list installed|grep nginx
yum list installed 查看yum已安装的包
4 whereis
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
whereis nginx
nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz
5 sbin目录
说明:super binary 超级的 二进制 许多“指令”对应的可“执行程序文件”目录,该目录文件对应指令都是"root"用户可以执行的指令普通用户不能使用该目录里的命令:
普通用户:用$开头
root用户:用#开头
6 nginx -t
查看配置文件 nginx.conf 路径 ,这条命令也可以用于检查配置文件是否正确
当然也可以使用 find 命令进行文件查找
从 / 根目录下查找文件名为 nginx.conf 的文件
find / -name nginx.conf
从 /etc 目录下查找文件名为 nginx.conf 的文件
find /etc -name nginx.conf
7 指定配置文件并启动 nginx 服务
nginx安装目录 -c nginx.conf配置文件目录
其中:参数 “-c” 指定了配置文件的路径,如果不加 “-c” 参数,Nginx 会默认加载其安装目录的 conf 子目录中的 nginx.conf 文件。
8 命令参数
/usr/local/nginx/sbin/nginx -参数
Nginx 的参数包括:
-c
-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。
-v:显示 nginx 版本号。
-V:显示 nginx 的版本号以及编译环境信息以及编译时的参数。
检测新的配置文件:
/usr/local/nginx/conf# /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
如下:
cd /etc/nginx/
nginx -v
可以查看nginx的版本
9 启动阿里云上安装的nginx
启动
启动命令格式:nginx安装目录地址 -c nginx配置文件地址
先whereis nginx拿到地址:/usr/sbin/nginx
然后cd /usr/sbin/,然后执行:./nginx启动
或者输入命令nginx启动
在阿里云centos7.4版本以上,可以直接用nginx启动,启动成功之后,直接在浏览器用ip访问即可
如果浏览器页面出不来可能的原因:
安全组规则没有配置80端口;
当前云服务器防火墙处于开启状态,没有允许80端口通过
如果出现:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)
可能是nginx已经占用80端口,可以先杀死nginx进程:
pkill nginx,然后执行nginx命令,查看进程:
ps -ef|grep nginx
说明nginx启动了
netstat -anp|grep 12785
可知使用的端口号是80
但是无法访问http://公网ip,
1 查看防火墙开启没有,没开启需要开启:
systemctl status firewalld 查看防火墙状态,active就是开启的状态
否则需要开启
如果防火墙没启动,就启动防火墙:systemctl start firewalld
然后重新执行:systemctl status firewalld
接着,查看所有已经启动的服务:systemctl list-unit-files|grep enabled
查看firewalld允许通过的端口列表:firewall-cmd --zone=public --list-ports
查看当前开了哪些端口,其实一个服务对应一个端口 firewall-cmd --list-services
发现只开放了3306端口,接着开放了3002端口 :firewall-cmd --zone=public --add-port=3002/tcp --permanent
之后需要重启防火墙:systemctl restart firewalld.service
配置安全组:
配置好安全组即可,不需要重启(配置TCP,80即可)
然后执行firewall-cmd --add-port=80/tcp --permanent,返回success说明80端口开放了,然后重启防火墙即可
firewall-cmd --reload
返回success,然后重新访问http://公网ip,成功
10 申请免费的ssl证书
对于微信小程序来说,需要https协议的接口,web接口没有限制,但是申请ssl证书也很重要
为了解决免费证书近期存在的吊销、统计等问题,自2021年起,免费证书申请将切换到证书资源包下
选择页面如下:
支付后:
手工DNS验证:该方式需要您登录域名的管理控制台,将域名验证信息配置到域名解析列表中(添加一条TXT类型的DNS解析记录)。您需要域名解析的管理权限,才可以完成验证。
然后控制台搜索进入:域名
进入域名解析:
注意,可以在阿里云的新人1元购先注册一个域名
使用1元1年注册了1个top域名:
因为是阿里云下的域名,所以可以直接使用自动DNS验证
注册域名需要进行实名认证,成功后即可恢复域名的解析
实名认证成功后
然后重新验证:
查看阿里云帮助文档:
通过SSL证书服务购买和签发证书后,您可以将已签发的证书下载并安装到Nginx(或Tengine)服务器上。
在SSL证书处,选择免费证书,对已签发的的进行下载:
下载并解压拿到.pem和.key文件
在Nginx独立服务器上安装证书
登录Nginx服务器。
例如,您可以使用远程登录工具(例如,PuTTY、Xshell)登录服务器。
执行以下命令,在Nginx安装目录(默认为/usr/local/nginx/conf)下创建一个用于存放证书的目录(命名为cert)。
这里我们cd进入nginx的配置文件目录中,添加:
cd /etc/nginx/(nginx.conf在目录中)
mkdir cert
然后执行rz
出现:rz: command not found
那么需要安装lrzsz
执行:yum -y install lrzsz
执行rpm:rpm -qa lrzsz查看是否安装成功
安装成功
然后:cd cert进入cert目录
执行 rz -y进行文件上传,弹窗选择两个文件后,ls -l查看:存在,成功上传了文件到cert中
然后开始配置nginx的配置文件(nginx.conf),进入/etc/nginx/:
vim nginx.conf
按i进行编辑模式:
在配置文件中定位到HTTP协议代码片段(http{}),并在HTTP协议代码里面添加以下server配置(如果server配置已存在,按照以下注释内容修改相应配置即可)。
使用示例代码前,请注意替换以下内容:
yourdomain.com:替换成证书绑定的域名。
如果您购买的是单域名证书,需要修改为单域名(例如www.aliyun.com);如果您购买的是通配符域名证书,则需要修改为通配符域名(例如*.aliyun.com)。
cert-file-name.pem:替换成您在步骤3上传的证书文件的名称。
cert-file-name.key:替换成您在步骤3上传的证书密钥文件的名称。
#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
listen 443 ssl;
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
root html;
index index.html index.htm;
ssl_certificate cert/cert-file-name.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.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; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录。
index index.html index.htm;
}
}
可以看到nginx.conf文件中有被注释的ssl的server配置,
server_name:www.XXX.top
ssl_certificate和ssl_certificate_key分别是/etc/nginx/cert中的文件
按下i编辑完。先按ESC退出编辑,再输入:wq报存并退出
执行以下命令,重启Nginx服务。
cd /usr/local/nginx/sbin #进入Nginx服务的可执行目录。
这里我们:cd user/sbin,然后执行:
./nginx -s reload #重新载入配置文件。
(或者 nginx -s reload)
重启虚拟主机
注意 证书安装成功后,您需要在虚拟主机上配置伪静态规则,这样您的网站才能全站都支持HTTPS,否则只有网站的主页支持HTTPS,网站的子目录将不支持HTTPS。
这里选择重启实例
然后这样的配置,可以通过ip或者域名来访问:
最后,下载阿里云app,进行网站备案,就可以很奈斯的访问到自己的网站了
如果备案中途,说明了域名在备案过程中,需要关闭跳转的链接网页展示(这里是nginx的页面,那么可以:nginx -s stop关闭nginx服务器)
域名解析:
把服务器公网ip写进去,然后成功
阿里云公安备案文档指南:
https://help.aliyun.com/document_detail/36981.htm?spm=a2c4g.11186623.2.13.48df7150wWDp1f#concept-ukf-fsl-zdb