下面是关于centos7编译安装nginx的详细步骤攻略。
1.安装编译nginx所需的依赖库
在安装nginx之前,需要先安装一些编译nginx的依赖库,具体如下:
yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
这一步是安装编译nginx必备的库文件。
2.下载nginx源码
下载nginx的源码,网址为:http://nginx.org/download/nginx-1.14.2.tar.gz。
可以使用命令行进行下载:
wget http://nginx.org/download/nginx-1.14.2.tar.gz
3.解压源码并进入文件夹
在下载完成后解压源码并进入文件夹:
tar zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
4.配置nginx
在进入文件夹后,需要为nginx进行相关的配置,配置文件如下:
./configure \
--prefix=/usr/local/nginx \
--with-stream \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_stub_status_module
--prefix
:nginx的安装路径,默认为/usr/local/nginx
。--with-stream
:编译nginx的stream模块。--with-http_v2_module
:支持http2协议。--with-http_ssl_module
:支持ssl协议,即https。--with-http_gzip_static_module
:支持静态压缩。--with-http_stub_status_module
:支持状态信息查看。
5.编译nginx
完成了配置之后,使用以下命令编译nginx:
make
6.安装nginx
编译完成后,使用以下命令安装nginx:
make install
7.启动nginx
安装完成后,即可使用以下命令启动nginx服务:
/usr/local/nginx/sbin/nginx
需要注意的是,如果查看nginx状态信息,需要在配置文件中打开--with-http_stub_status_module
选项,然后使用以下命令:
curl http://127.0.0.1/nginx_status
这样就可以查看到nginx的状态信息了。
另外,如果想要在systemd中启动nginx,需要创建一个nginx.service文件,放在/usr/lib/systemd/system/nginx.service
目录下,文件内容如下:
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
示例说明
示例1:设置虚拟主机
配置文件路径:/usr/local/nginx/conf/nginx.conf
# 定义http服务
http {
# 定义http服务下的server
server {
# 监听端口80
listen 80;
# 域名
server_name www.example.com;
# 设置首页,默认为index.html
index index.html;
# 指定虚拟机目录
root /var/www/html;
location / {
# 访问/index.html就会返回/var/www/html文件夹下的index.html文件
try_files $uri $uri/ /index.html;
}
}
}
# 定义stream服务
stream {
# 定义stream服务下的server
server {
# 监听端口9090,只接受TCP连接
listen 9090;
# 发送至TCP远程服务127.0.0.1:9000
proxy_pass 127.0.0.1:9000;
# 忽略数据包长度限制
proxy_buffer_size 64k;
proxy_connect_timeout 1m;
proxy_timeout 3h;
proxy_send_timeout 30s;
proxy_read_timeout 10s;
}
}
示例2:启用SSL协议
安装过程中已经开启了--with-http_ssl_module
选项,启用HTTP服务的SSL协议,只需要在http
模块下添加以下内容:
# 定义http服务
http {
# SSL协议的相关配置信息
ssl_certificate /usr/local/nginx/conf/*.pem;
ssl_certificate_key /usr/local/nginx/conf/*.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 定义http服务下的server
server {
# 监听端口443
listen 443 ssl;
# 域名
server_name www.example.com;
# 设置首页,默认为index.html
index index.html;
# 指定虚拟机目录
root /var/www/html;
location / {
# 访问/index.html就会返回/var/www/html文件夹下的index.html文件
try_files $uri $uri/ /index.html;
}
}
}
这样就启用了HTTP服务的SSL协议。需要先获得SSL证书,具体可以参照其他文章中“如何生成SSL证书”的内容。
以上就是centos7编译安装nginx的详细步骤攻略,希望可以帮到你,谢谢!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:centos7编译安装nginx的方法步骤 - Python技术站