安装软件环境:centos7、 nginx-1.27.1
一、安装依赖软件
打开终端安装依赖软件
yum -y install gcc gcc-c++ autoconf automake make
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
二、下载并安装nginx
cd 到 /usr/local目录下
//下载软件
wget http://nginx.org/download/nginx-1.27.1.tar.gz
//解压
tar zxvf nginx-1.27.1.tar.gz
//创建安装目录
mkdir -p /usr/local/nginx
//修改配置 cd nginx-1.27.1/
#配置安装目录
./configure --prefix=/usr/local/nginx --with-http_ssl_module
//安装
make && make install
三、启动
进入安装目录
cd /usr/local/nginx/sbin
启动
./nginx
这时候在安装机器就可以输入地址查看了。
如果远程访问的话需要将80端口开放,添加新端口后需要reload 防火墙。
CentOS 7.0默认使用的是firewall作为防火墙。
开放端口:命令如下:
添加 firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入 firewall-cmd --reload
查看firewall-cmd --zone=public --query-port=80/tcp
删除firewall-cmd --zone=public --remove-port=80/tcp --permanent
输入地址后出现如下表示安装成功了。
四、解决端口冲突
安装后如出现上图信息表示nginx端口与其他软件端口冲突,解决办法建议修改端口。
方法一、停止占用80端口的程序,具体自行查询。
方法二、修改nginx.conf文件中nginx端口号。
cd /usr/local/nginx/conf 进入目录
vim nginx.conf 打开文件
找到listen位置,将默认80端口修改为未被占用端口。
按esc,:wq保存退出.
再次启动nginx即可。
下图为nginx配置文件其中红线标注为监听端口可以改为
未被占用端口
改完配置文件wq保存并退出
切换到cd /usr/local/sbin/ ./nginx 重启配置文件生效
五、配置nginx开机自启
第一步:创建nginx.service文件
#创建nginx.service文件
vim /etc/systemd/system/nginx.service
#粘贴一些内容到nginx.service中
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.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 -QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
第二步:设置正确的文件权限
sudo chmod 644 /etc/systemd/system/nginx.service
第三步:重新加载 systemd 配置
sudo systemctl daemon-reload
第四步:再次尝试启用服务
sudo systemctl enable nginx
#如果一切正常,您应该看到类似以下输出:
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /etc/systemd/system/nginx.service.
第五步:测试服务状态
sudo systemctl start nginx
sudo systemctl status nginx
#如果服务正常运行,您会看到类似以下输出:
● nginx.service - The NGINX HTTP and reverse proxy server
Loaded: loaded (/etc/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2023-10-09 12:00:00 UTC; 1min ago
Main PID: 12345 (nginx)
Tasks: 2 (limit: 4915)
Memory: 2.5M
CGroup: /system.slice/nginx.service
├─12345 nginx: master process /usr/local/nginx/sbin/nginx
└─12346 nginx: worker process