下载Nginx
方式一:通过官网下载后上传
通过官网下载安装包。下载地址https://nginx.org/en/download.html
这里选择稳定版的进行下载。
这里使用FinalShell终端工具操作,使用其他工具操作亦可。FinalShell工具下载地址:http://www.hostbuf.com/t/988.html
下载安装完成后,进行登录连接。连接后,上传下载好的文件。
通过命令ls
查看上传的结果。
方式二:通过wget命令直接下载到Linux中
wget命令是Linux系统用于从Web下载文件的命令行工具,支持 HTTP、HTTPS及FTP协议下载文件,而且wget还提供了很多选项,例如下载多个文件、后台下载,使用代理等等,使用非常方便。
在Linux中输入命令进行下载。
wget https://nginx.org/download/nginx-1.22.1.tar.gz
使用上述命令,默认下载到当前工作目录,在下载过程中,会显示进度条、文件大小、下载速度等。
等待下载完成。
安装Nginx
1、解压文件
对下载好的文件进行解压。
# -zxf不显示解压过程进行解压
tar -zxf nginx-1.22.1.tar.gz
可以看见,现在已经解压完成了。
2、初始化配置
进入到解压后的目录。
cd nginx-1.22.1/
Ubuntu先需要执行如下命令
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev libgd-dev libxml2 libxml2-dev uuid-dev -y
对配置进行初始化。
./configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/home/d/nginx/log/access.log --error-log-path=/home/d/nginx/log/error.log --http-fastcgi-temp-path=/home/d/nginx/tmp/fastcgi_tmp --http-proxy-temp-path=/home/d/nginx/tmp/proxy_tmp --http-client-body-temp-path=/home/d/nginx/tmp/client_body_temp --with-pcre --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --modules-path=/etc/nginx/modules --with-http_ssl_module --with-http_v2_module --user=www-data --group=www-data --with-http_dav_module
若出现以下提示,则需要安装依赖包。若未出现则跳过此部分,执行第3步。
提示 error: the HTTP rewrite module requires the PCRE library.
yum install -y pcre pcre-devel
提示 error: Invalid C++ compiler or C++ compiler flags.
yum install -y gcc gcc-c++
提示 error: the HTTP gzip module requires the zlib library.
yum install -y zlib-devel
依赖安装完成后,再次执行2中命令。
进入到nginx的目录。
cd nginx-1.22.1/
对配置进行初始化。
./configure
3、编译Nginx
make
编译需要一点时间,等待编译完成。
4、执行安装操作。
make install
5、运行Nginx
查找Nginx的安装目录
whereis nginx
进入到安装路径。
cd /usr/local/nginx
执行启动命令。
./sbin/nginx
查看启动结果。
ps -ef | grep nginx
在浏览器中,输入服务器地址,即可访问。
Nginx默认是使用80端口,需要在服务器放行该端口。
配置开启自启
创建自启脚本
进入到系统服务目录
cd /etc/systemd/system
编写脚本文件。没有vim
也可以使用vi
代替。
vim nginx.service
文件内容。
[Unit]
Description=nginx service
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true[Install]
WantedBy=multi-user.target
配置文件中,需要注意路径,通过whereis
查询。
设置开机自启
systemctl enable nginx.service
systemctl其他常用命令
启动服务
systemctl start nginx.service
重启服务
systemctl restart nginx.service
停止服务
systemctl stop nginx.service
查看服务状态
systemctl status nginx.service
关闭服务
systemctl disable nginx.service
Nginx基础配置
Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,同时也提供了 IMAP/POP3/SMTP 服务,可以不间断运行,提供热更新功能。占用内存少、并发能力强,最重要的是,Nginx 是免费的并可以商业化,配置使用都比较简单。
nginx.conf文件的简单配置如下。
#user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;# 这个server_name 与443端口的一致server_name domain.com;# 通过rewrite可以实现强制httpsrewrite ^(.*) https://$server_name$1 permanent;}server {listen 443 ssl;server_name domain.com;ssl_certificate crt格式文件;ssl_certificate_key key格式文件;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {# 代理路径proxy_pass http://127.0.0.1:8090;}}
}