其他文章
云服务器和域名准备
安装FTP文件服务器
linux安装jdk1.8
linux安装tomcat8
linux安装MySQL(5.6)
linux安装redis
安装nginx
- 检查安装环境没有就安装
rpm -qa|grep gcc*(或者pcre/zlib/openssl)
现在购买的腾讯云服务器好像都已经安装好了
- sudo yum install gcc-c++
- sudo yum install pcre pcre-devel
- sudo yum install zlib zlib-devel
- sudo yum install openssl openssl-devel
- 到nginx.org下载nginx通过ftp传输过来
mkdir /developer
mv /ftpfile/nginx-1.16.1.tar.gz /developer/
cd /developer/
- 解压
tar -zxvf nginx-1.16.1.tar.gz
- 进入/developer/nginx-1.16.1 (我是下载在/developer文件夹解压的1.16.1版本)
cd /developer/nginx-1.16.1
- 检查
sudo ./configure
- 编译
sudo make
- 安装
sudo make install
- 查看nginx位置
whereis nginx
cd /usr/local/nginx/sbin/
- 启动nginx
sudo ./nginx
- 查看nginx进程
ps aux | grep nginx
-
平滑重启
平滑重启就是热部署的一种应用,一般当我们修改nginx的配置文件的时候才需要重启nginx,平滑重启就可以在不停止再启动nginx服务器的情况下,来更新配置文件。首先查看nginx pid
ps -ef | grep nginx
kill -HUP nginxpid
# 本例就是 kill -HUP 27607
- 一般重启
/usr/local/nginx/sbin/nginx -s reload
#这个url根据自己的下载配置来变化
配置nginx
最神奇的一步开始了!
提示:其实到这一步之前,我们的服务器已经搭建完成了。由于现在工信部监测的十分严格,没有备案的域名是无法使用的(如下图)。如果大家不想备案域名,我们也是可以正常使用服务器的,只不过访问的时候我们要显视地通过ip和端口组合来访问相应的资源。那么下面的内容可以忽略不看。
我们在/usr/local/nginx/conf目录下建一个vhost文件夹,这个文件夹专门保存nginx的配置,这样只需在nginx.conf中导入这些配置就ok了。这等同于直接在nginx.conf中配置,但是前者更有利于后期维护。
cd /usr/local/nginx/conf
mkdir vhost
sudo vim nginx.conf (就在/usr/local/nginx/conf路径下执行)
在nginx.conf文件的最下面加上:
include vhost/*.conf;
这样nginx服务器就会自动加载我们在vhost中编写的conf文件,非常易于后期维护
ESC :wq保存退出
下面我们就开始写自己的转发配置文件
cd vhost/
1. 首先我们写一个转发到服务器固定目录url的配置文件
例如我们的资源都放在服务器/code/test/目录里,我们可以直接将一个域名对应这个目录。
-
首先去云平台控制台域名管理,解析域名
-
选择自己的一个域名,进入解析配置页面
-
添加一条记录
-
填写记录信息
-
例如abc.mydomin.com,首先在vhost目录建立配置文件:
vim abc.mydomin.com.conf #这样命名是不是非常规范易懂
- 复制下面的配置
PS:如果想了解配置中的具体含义是什么,请参考:nginx配置常见参数含义及用法
server {
default_type 'text/html';
charset utf-8;
listen 80;
autoindex on;
server_name abc.mydomin.com; #写自己的域名
access_log /usr/local/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
#error_page 404 /404.html;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
location / {
root /code/test/;
add_header Access-Control-Allow-Origin *;
}
}
ESC :wq 保存退出
- 去创建一个示例代码
cd /code/test/
vim index.htm
在index.htm文件中输入
This is a welcome page!
ESC :wq 保存退出
- 重启nginx
/usr/local/nginx/sbin/nginx -s reload
- 打开浏览器输入我们的域名
大功告成
2.接着写一个转发到固定端口的配置文件
例如:将abc2.mydomin.com对应到127.0.0.1:8080端口,那么我们在地址栏输入该abc域名和输入ip:端口是等价的。
-
同样要先去控制台解析域名,创建配置文件,参考上一步
-
注意配置文件需要修改的地方
server {
default_type 'text/html';
charset utf-8;
listen 80;
autoindex on;
server_name abc2.mydomin.com;
access_log /usr/local/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
#error_page 404 /404.html;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
location / {
proxy_pass http://127.0.0.1:8080;
add_header Access-Control-Allow-Origin *;
}
}
- 其余步骤和上面一样,别忘了去控制台开放端口
- 输入域名测试一下
这里404说资源没有找到,因为我们什么也没放所以也是合理的。但是以前我做的时候没有资源它都会默认转发到tomcat的页面,有点搞不明白,不过证明我们的nginx是正常的。