下面是Linux环境下安装nginx的完整攻略:
1. 准备工作
在安装nginx之前,需要进行以下准备工作:
- 确保系统中安装了gcc、make等工具
- 确保系统中安装了pcre、openssl、zlib等库文件
可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install gcc g++ make
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install openssl libssl-dev
2. 下载nginx
可以从nginx的官方网站上下载最新版的源码包。下载完成后,将源码包解压到指定目录:
tar -xzvf nginx-1.18.0.tar.gz -C ~/nginx
3. 配置并编译nginx
进入nginx源码目录,使用以下命令进行默认配置:
cd ~/nginx/nginx-1.18.0
./configure
如果需要对nginx进行自定义配置,可以使用以下命令进行配置:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.44 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.1h
配置完成后,使用以下命令进行编译和安装:
make
sudo make install
4. 验证nginx是否成功安装
启动nginx:
sudo /usr/local/nginx/sbin/nginx
访问http://localhost,如果能看到"Welcome to nginx!"的页面,说明nginx安装成功。
为了方便管理nginx,可以创建nginx的系统服务:
1. 创建 /lib/systemd/system/nginx.service 文件;
2. 在文件中添加以下内容:
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target 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
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nginx
User=nginx
Group=nginx
[Install]
WantedBy=multi-user.target
其中, User=nginx
和 Group=nginx
两行表示指定 nginx 服务的运行用户和用户组为 nginx
。如果此用户和用户组不存在,需要自行使用 useradd
命令创建。
重启服务并开机自启:
sudo systemctl daemon-reload
sudo systemctl enable nginx.service
sudo systemctl restart nginx.service
至此,nginx的安装与配置完成。
示例一:使用nginx代理转发请求
假设有以下需求:将所有请求转发至后端服务器 http://192.168.0.1:8080。
在nginx配置文件 /usr/local/nginx/conf/nginx.conf 中添加以下配置:
http {
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://192.168.0.1:8080;
}
}
}
重启 nginx:
sudo systemctl restart nginx.service
访问 http://example.com,此时请求将被nginx转发至 http://192.168.0.1:8080。
示例二:使用NGINX进行负载均衡
假设有以下需求:有3台后端服务器 http://192.168.0.1:8080、http://192.168.0.2:8080、http://192.168.0.3:8080,需要对请求进行负载均衡。
在nginx配置文件 /usr/local/nginx/conf/nginx.conf 中添加以下配置:
http {
upstream backend{
server 192.168.0.1:8080;
server 192.168.0.2:8080;
server 192.168.0.3:8080;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
}
重启 nginx:
sudo systemctl restart nginx.service
访问 http://example.com,此时请求将被nginx进行负载均衡处理,并转发至后端服务器。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux环境下安装nginx教程 - Python技术站