1、下载安装包
首先在nginx官网下载源码包。nginx下载官网地址: https://nginx.org/download/
这里我选的是1.26.2版本
2.安装 pcre-devel
首先使用软件工具(任何工具都可以)连接上Linux服务器,
主机名是服务器对外的IP地址
默认用户名 root ,密码可以在购买服务器后台中设置,默认端口号22
连接后,在安装nginx之前需要安装依赖库。
若已安装可以略过,可以用以下指令判断是否安装。
yum list installed | grep "pcre-devel"
返回下述内容则表示安装成功。
若未安装则执行下面的指令安装。
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
执行完毕之后,可以再次执行上述指令验证是否安装成功。
3、解压包文件
将下载后的源码文件,上传到服务器的目录下,上传完成后,执行以下命令解压
tar -zxvf nginx-1.26.2.tar.gz
参数说明
-x:解压
-z:用 gzip 压缩的文件操作
-v:显示所有过程
-f:使用文件名,注意,这个参数是最后一个参数,后面只能接文件名,不能再加参数。
解压完成后,进入到该目录下
cd /usr/nginx-1.26.2/nginx-1.26.2
4、安装
此时,准备进入后在该目录执行指令
1. 配置指令
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module
其中
- -prefix
选项是指定安装目录。./configure
主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系。
注意:Nginx一般默认安装在该目录:/usr/local/nginx
若该过程报错,说明依赖环境没有安装上,执行第2步操作
2. 编辑
make
3. 安装
make install
安装完成后,nginx的目录已生成
5、查看nginx信息
6、 启动nginx
1. 安装完成后,启动前,首先要检查配置文件是否正确。在sbin
目录下执行检查语句。
nginx -t
返回以下内容表示配置文件语法测试没问题。
2. 同样在这个目录下,执行 ./nginx
(等同于/usr/local/nginx/sbin/nginx,也可使用这个命令/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf)表示启动 nginx 。
3. 启动完成后,可以使用 systemctl status nginx
命令检查是否启动成功。
7、nginx其他指令
同样在 sbin
目录下
# 停止命令,优雅的停止(不接受新的连接请求,等待旧的连接请求处理完毕再关闭) 和 ./nginx 命令可实现重启
./nginx -s stop
# 也是停止命令,快速关闭 配合./nginx命令也可实现重启
./nginx -s quit
# 重启命令,重新加载配置文件
./nginx -s reload
8、查看页面
默认安装上的端口号是 80
,若 80
端口号占用,则需要修改该端口号。
# 查看80端口号是否被占用
netstat -nltp | grep 80
修改端口号
可在nginx
配置文件中修改 nginx/config/nginx.conf
可以将 80
修改成未被占用的端口号(同样,以防万一,在修改之前检查将要修改的端口号是否被占用)。
修改成功之后,重启nginx,然后通过 http://IP地址:端口号
在网页上访问。
返回以下页面则表示nginx已访问成功。(该页面存在的文件目录于nginx/html/index.html
),上图中
location /
则表示默认地址,即该地址,当然这同样可以修改,依照个人项目使用修改。
9、配置项目文件目录
项目打包完成后,将文件放置于服务器 /opt/apps/项目文件
目录中。然后在 nginx/config/nginx.conf
文件中添加对应的目录。
其中:
^~
表示通配符,通配前面url为任意地址,都将会转发到该目录去。
alias
为别名的意思,该内容输入 项目的全路径,(磁盘位置)
index
打开的文件名
autoindex
是当用户请求以 / 结尾式的URL,它会列出对应的目录结构,默认 off
try_files
它用于按顺序检查文件或者目录是否存在,并将请求映射到第一个找到的文件或者目录。如果没有找到,会返回一个404错误。
配置完成之后,重启nginx,然后在浏览器中地址栏后面加上 自定义配置的路径,则可以访问该项目。
------------------------20240904更新
若是启动 nginx 或者重启失败,提示端口号被占用
首先查看目前的端口号
sudo netstat -tunlp
此时的 8080
端口号被 worker 占用,则将该进程杀死。
kill -9 18394
可以看到此时没有 8080 占用的端口了,则进入nginx
的sbin
目录,启动nginx即可
----------------------------20240909更新---------------------------------------------------------
如果更新端口号后,nginx可以正常启动,但页面无法访问,若用的是阿里云服务器,则登录阿里云后台。
查看服务器的安全组,加上修改后的端口号。