Nginx是一款轻量级高性能的Web服务器,它可以处理更多的并发请求,提供更快速、更稳定的性能,非常适合用于支持高负载的网站和服务。本文将介绍基于Linux系统下的Nginx安装步骤。
一、安装开发工具和依赖库
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
上面命令,用于在yum软件包管理器中安装一些开发工具和依赖库。命令中各个参数的含义如下:
- yum:是Linux系统常用的软件包管理工具;
- -y:表示在安装过程中遇到提示时默认选择"yes",不需要手动确认;
- install:表示安装软件包;
- make:是一个构建工具,能够自动化地进行编译程序等操作;
- zlib、zlib-devel:都是提供数据压缩和解压功能的开发库,程序在编译时通常需要这两个库的支持;
- gcc-c++:是C++编译器,可以编译C++程序;
- libtool:是一个构建工具,在Linux平台上使用较多,能够简化动态库、静态库的构建流程;
- openssl、openssl-devel:是一个开源的加密库,提供了很多加密和解密函数。
二、安装PCRE
在nginx中,PCRE库被用来解析和匹配HTTP请求的URL、header、body等内容,并进行相关的操作,如重定向、路由转发、用户身份验证等。Nginx使用PCRE库能够实现更加灵活和高效的请求匹配和处理,同时也能节省开发者的时间和精力,提高Web应用的性能。因此,可将PCRE视为Nginx的一个重要组件。
1、进入/usr/local/src/文件夹下执行命令下载pcre8.45压缩包。
# cd /usr/local/src/
# wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz
2、解压
# tar zxvf pcre-8.45.tar.gz
3、编译安装
进入pcre-8.45目录,进行编译安装
# cd pcre-8.45
# ./configure
# make && make install
4、安装完成
输入命令,如果显示对应版本号表示安装成功。
# pcre-config --version
三、安装nginx
1、下载
进入/usr/local/src/目录,使用以下命令下载nginx并解压。
# cd /usr/local/src/
# wget http://nginx.org/download/nginx-1.23.4.tar.gz
# tar zxvf nginx-1.23.4.tar.gz
2、编译安装
进入nginx-1.23.4文件夹输入下面命令编译安装。
# cd nginx-1.23.4
# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.45
# make
# make install
./configure:运行Nginx的配置程序。--prefix=/usr/local/webserver/nginx:指定Nginx的安装路径为"/usr/local/webserver/nginx",即Nginx服务器将会被安装到这个目录下。--with-http_stub_status_module:启用Nginx的stub_status模块,使Nginx可以向外界提供状态信息。--with-http_ssl_module:启用Nginx的SSL/TLS协议支持,让Nginx可以处理HTTPS请求。--with-pcre=/usr/local/src/pcre-8.45:指定PCRE库的路径为"/usr/local/src/pcre-8.45",在编译Nginx时会使用该库来支持正则表达式操作。
3、安装完成
同理输入以下代码,如果出现nginx版本号,表示安装成功。
# /usr/local/webserver/nginx/sbin/nginx -v
4、配置nginx
使用以下命令在Linux系统中创建一个名为"ngx"的用户。
# /usr/sbin/groupadd ngx
# /usr/sbin/useradd -g ngx ngx
配置nginx.conf ,将/usr/local/webserver/nginx/conf/nginx.conf替换为以下内容: nginx.conf的具体内容包括:
a. 全局块:包括用户和工作进程的设置、错误日志、进程ID文件路径等全局性的配置信息。
user ngx ngx;
worker_processes auto;
worker_rlimit_nofile 65535;
error_log /usr/local/webserver/nginx/logs/nginx_error.log crit;
pid /usr/local/webserver/nginx/nginx.pid;
b. events块:包括连接数限制、支持的连接类型等与事件相关的配置信息。
events {
worker_connections 1024;
use epoll;
}
c. http块:包括http全局块和server块,其中http全局块主要设置HTTP协议的一些属性和默认值,而server块则用于配置虚拟主机和相关的路由规则。
http {
# 设置常用的MIME类型
include mime.types;
default_type application/octet-stream;
# 配置访问日志
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
include mime.types;
default_type application/octet-stream;
# 设置是否允许访问隐藏文件
location / {
index index.html index.htm;
if ($request_filename ~* .(jpg|jpeg|png|gif|css|js|ico)$){
expires 30d;
}
if ($request_filename ~* /(..)+/) {return 404;}
if (-d $request_filename){rewrite ^(.*?)/+$ $1 permanent;}
try_files $uri $uri/ /index.php?$query_string;
}
# 反向代理及负载均衡配置
upstream backend_server {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
server {
listen 80;
server_name example.com;
# 反向代理及负载均衡配置
location / {
proxy_pass http://backend_server;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/webserver/nginx/html #站点目录
}
}
}
检查配置文件nginx.conf的正确性命令:
# /usr/local/webserver/nginx/sbin/nginx -t
四、启动 Nginx
输入如下命令启动Nginx:
# /usr/local/webserver/nginx/sbin/nginx
使用浏览器访问我们配置的网站ip,页面显示 Welcome to Nginx!,恭喜您已经成功启动nginx。
五、总结
本文简单介绍了如何在Linux系统中安装Nginx,并提供了一些基本的设置和配置。在实际应用中,可根据需要进行更详细的配置和调整。