环境说明
- Ubuntu的版本信息,本身是在阿里云服务器上安装nginx,这里给出Ubuntu的版本信息(Ubuntu上的安装和CentOS上的不同,这里环境是Ubuntu就按照Ubuntu上的安装):
安装nginx
-
运行下面命令:
# 更新源 sudo apt update # 安装默认的nginx sudo apt install nginx
查看版本信息:
# 查看nginx版本 nginx -v
nginx启动
-
安装好了也查看版本了,就要启动我们的nginx。
# 启动最好用service,尝试用systemctl启动会出现莫名的错误 sudo service nginx start # 查看nginx的运行状态,退出的时候按住shift和q,也就是Q就会退出来 sudo service nginx status
注意:这里可能会报错,原因90%的原因就是端口被占用,因为nginx默认的是80端口,如果你不想更改这个端口信息,就停掉你自己占用80的那个程序,我这里是apache2的服务,如果你想更改一下nginx的端口信息,下面给出具体方法。
停止apache2服务
# 想停止其他的服务,就在apache2的地方改成其他的服务名称 sudo service apache2 stop
更改nginx的默认端口,这里我改成9000,这个端口是我随便改的,只要没有被占用就好了,可以自己设置,其他的都不用更改,保持原来就好。
# 更改默认的配置文件 cd /etc/nginx/sites-enabled sudo vim default
更改之后的是这样的:
关掉其他占用80端口的服务,或者更改了nginx的默认端口之后就可以直接启动我们的服务,并且查看我们的服务状态,如下图(下图说明就是成功启动了):
配置项目
-
编写配置文件
# 进入我们的配置文件夹 cd /etc/nginx/sites-enabled # 编写我们的配置文件 sudo vim myweb.conf
具体内容如下:
server { # 这里是监听的端口,也是我们一会url要访问的端口地址,这个一定要记得开放这个端口 listen 8070 default_server; # 这里是我们项目的地址,一定是自己项目的地址 root /home/tom/project/; # 项目中的起始界面 index index.html index.htm; # 不用更改 server_name localhost; # 这个可以更改,可以查看nginx配置文件中的详细描述,也可以直接按照这个 location / { try_files $uri $uri/ =404; } }
注意:一定要打开自己上面监听的端口,我这里用的是8070端口,下面会给出详细的步骤
先查看自己的服务是不是启动成功了:# 测试 sudo nginx -t # 重新加载,这个每回更改配置文件就要执行 sudo nginx -s reload # 查看进程是不是起来了 sudo ps -ef | grep nginx
其次,要看一下自己的防火墙是否关闭,端口是不是打开
# 不同版本防火墙状态不同,可以去网上查一下相关命令 sudo service ufw status # 关闭防火墙命令 sudo service ufw stop
显示出来开放状态就是下图这样子:
查看端口是不是开启:
netstat -lnt | grep 8070
结果如图:
最后,如果是阿里云远程服务器,就需要管理员去开启端口,一定要注意!!!(网上搜一下很多教程)
打开端口之后,重新加载和重新启动我们的配置文件:
# 重新加载nginx服务 sudo nginx -s reload # 测试nginx是否配置成功,会显示successful sudo nginx -t # 重启nginx服务 sudo service nginx restart
查看网页
注意:这里我们用的是阿里云的远程服务器,不能使用ifconfig
命令的IP地址,要使用curl httpbin.org/ip
所显示的IP地址,因为是远程,如果你是本机,使用ifconfig
也是可以成功的
# 一定是http不是https
http:// + IP地址 + : + 端口号
直接展示界面:(网上随便拷的html文件,也可以自己写一个简单的界面)
后续打算
打算尝试一下docker配置,现在正在学习…
总结
遇到的问题
-
程序端口被占用问题
-
服务器端口是不是开启的问题