记录centos中安装nginx的过程。
准备
安装依赖的包:
1 | yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel |
我们去nginx
的官网看看目前稳定的包是什么,http://nginx.org/en/download.html,目前为止,稳定的包是nginx-1.20.1
,点击会下载当前nginx-1.20.1.tar.gz
。我们下载下来后可以直接通过scp
上传到服务器,这样免得在服务器下载浪费时间。
当然也可以直接在服务器中下载:
1 | wget http://nginx.org/download/nginx-1.20.1.tar.gz |
在服务器中解压缩:
1 | tar -zxvf nginx-1.20.1.tar.gz |
安装
进入解压的目录:
1 | cd nginx-1.20.1 |
配置:
1 | ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre |
安装:
1 | make && make install |
一路跑下来没问题,那么就安装成功了。
nginx相关命令
启动nginx
1 | /usr/local/nginx/sbin/nginx |
停止nginx
1 | /usr/local/nginx/sbin/nginx -s stop |
重新载入配置
1 | /usr/local/nginx/sbin/nginx -s reload |
nginx配置
nginx默认配置文件路径为:/usr/local/nginx/conf/nginx.conf
。
默认的资源路径为:/usr/lcoal/nginx/html
。
设置Systemctl
centos7以上使用systemed
进行系统初始化的。systemd
服务文件以.service
结尾,如果是用yum
安装的nginx,yum命令会自动创建nginx.service
,可以直接使用命令:
1 | systemctl enable nginx.service |
这样就设置为了开机启动。
但是我们用源码安装的方式是没有自动创建nginx.service
文件的,需要手动创建:
1 | vim /lib/systemd/system/nginx.service |
放入内容:
1 | [Unit] |
这里/usr/local/nginx/sbin/nginx
是安装nginx
的路径,注意如果有变更的话这里也要变化。
说明nginx.service
内容的各项参数:
- [Unit] 服务的说明
- Description 描述服务
- After 描述服务类别
- [Service] 服务运行参数的设置
- Type=forking 是后台运行的形式
- ExecStart 服务的具体运行命令
- ExecReload为重启命令
- ExecStop 停止命令
- PrivateTmp=True 表示给服务分配独立的临时空间
- [Install] 运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
设置开机启动
1 | systemctl enable nginx |
停止开机启动
1 | systemctl disable nginx |
启动nginx服务
1 | systemctl start nginx |
重启nginx服务
1 | systemctl restart nginx |
重新加载nginx配置
1 | systemctl reload nginx |
nginx加入到全局环境变量中
上面虽然可以使用systemctl
来控制nginx,但还是很不方便,我们希望可以直接使用nginx来操作。
要想加入到全局变量中,只需要创建个软链即可:
1 | ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/ |
这样就可以在任何地方直接使用nginx
命令:
1 | nginx -s reload |
配置网站
我们现在需要配置https://tcs-y.com
这个域名到这个服务器的nginx.
前提准备:
- 申请号免费的域名ssl证书.
- 将域名的cert文件上传到服务器,总共两个文件
tcs-y.key
,tcs-y.pem
- 将域名解析到当前服务器的ip.
nginx的配置入口是/usr/local/nginx/conf/nginx.conf
文件,我们选择单独的部署网站的方式,不要在这个默认配置里面直接加.
首先创建tcs-y
站点相关的配置文件:
- 在
/usr/local/nginx/conf
下面创建文件:/usr/local/nginx/conf/sites/tcs-y
. - 准备好对应的ssl证书,放在
/usr/local/nginx/conf/cert/tcs-y/tcs-y.key
和/usr/local/nginx/conf/cert/tcs-y/tcs-y.pem
.
然后准备好站点对应的html文件,方便我们在配置好后确认:
站点的文件放在/var/www/tcs-y/index.html
,先可以随便写点html:
1 | <h2>hello, world!</h2> |
然后编辑sites/tcs-y
文件:
1 | server { |
然后将这个文件通过include
的方式包含在nginx/conf/nginx.conf
文件中:
1 | http { |
注意将这个文件include语句放到http
区块里面.
然后重载nginx配置:nginx -s reload
.
然后我们访问https://tcs-y
,就可以正确的看到我们的页面.
记录