前言
nginx是高性能的http服务器,轻量,简单,高效率。工作中处处离不开它,可用来做反向代理,负载均衡,动静分离,高可用集群等等。具体学习还得自己亲自去实验,必定收获盆满钵满。
一、nginx的下载
nginx提供linux与windows的版本下载,根据自己的需求,下载对应环境的压缩包即可。这里我下载linux版本的压缩包,版本为nginx-1.20.2。nginx官网下载地址:http://nginx.org/en/download.html
二、nginx的安装
1.安装环境
CentOS Linux release 8.5.2111
2.解压与安装
可在windows中使用Xftp远程连接服务器将下载下来的压缩包传输到linux服务器下,这里我默认放在/root目录下。
(1)解压
执行解压命令
tar -zxvf nginx-1.20.2.tar.gz
得到nginx安装目录
(2)安装的nginx的先决条件,linux需要安装如下软件
- GCC——GNU编译器集合
RedHat中安装GCC
yum install gcc
Ubuntu中安装GCC
apt-get install gcc
- PCRE库
RedHat中安装PCRE
yum install pcre pcre-devel
Ubuntu中安装PCRE
apt-get install libpcre3 libpcre3-dev
- zlib库
RedHat中安装zlib
yum install zlib zlib-devel
Ubuntu中安装zlib
apt-get install zlib1g zlib1g-dev
- OpenSSL
RedHat中安装OpenSSL
yum install openssl openssl-devel
Ubuntu中安装OpenSSL
apt-get install openssl openssl-dev
(3) 执行./configure文件
进入nginx-1.20.2目录,执行./configure文件
(4)make
执行完configure文件后,输入make命令回车。
(5)make install
执行完make命令后,输入make install命令回车。
三、nginx的启动
如果第二步解压与安装都没有错的话,nginx应该安装成功了。可以执行whereis命令查找安装在哪个目录,默认安装在/usr/local/nginx目录下。 cd到/usr/local/nginx目录,ls列出文件与目录,进入sbin目录,执行nginx文件即可启动nginx。 浏览器访问自己的服务器的外网IP地址,nginx默认是80端口,显示Welcome to nginx!证明安装完成。
如无法访问请检查防火墙是不是还没放开的80端口。
四、nginx常用命令
- 查看版本
nginx -V - 启动
nginx -s start - 重启
nginx -s reload - 停止
nginx -s stop
五、安装http_ssl_module模块
如果想用nginx配置https访问,就需要安装http_ssl_module模块。
(1)重新执行configure文件
进入源码包,也就是解压之后的那个nginx-1.20.2目录,执行如下命令。
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
如果没有安装成功,可能需要下面的依赖包。
yum -y install pcre-devel openssl openssl-devel
(2)make
输入make命令,回车。 注意:输入make命令之后请不要输入make install命令,否则就覆盖安装了
(3)备份原有的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bak
(4)停止当前nginx服务
(4)覆盖掉原有的nginx
cp ./objs/nginx /usr/local/nginx/sbin/
(5)查看安装情况
/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.20.2
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
built with OpenSSL 1.1.1k FIPS 25 Mar 2021
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
六、nginx配置https
(1)证书准备
准备好nginx的SSL证书,一个.pem文件,一个.key文件。
(2)修改nginx.conf配置文件
进入/usr/local/nginx/conf目录,编辑nginx.conf文件。
# HTTPS server
server {
listen 443 ssl;
server_name test.com;
ssl_certificate ./cert/test.com.pem;
ssl_certificate_key ./cert/test.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
# HTTP server
server {
listen 80;
server_name test.com;
rewrite ^(.*) https://$server_name$1 permanent; // 重定向
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
}
|