更新gcc
yum -y install gcc
本次一切文件均放在usr/src中
需要pcre(并非pcre2),官网 http://www.pcre.org/
下载页面连接 https://ftp.pcre.org/pub/pcre/
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.zip
下载完成后把两个压缩文件放置usr/src/下
解压
unzip pcre-8.43.zip
进入文件夹中
cd pcre-8.43/
编译,安装
./configure
make && make install
查看pcre版本号
pcre-config --version
安装openssl,官网 https://www.openssl.org/
下载页面 https://www.openssl.org/source/
下载
wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
解压
tar -xvf openssl-1.1.1d.tar.gz
cd openssl-1.1.1d
./config
make && make install
查看当前版本
openssl version
安装zlib
下载
wget http://zlib.net/zlib-1.2.11.tar.gz
解压
tar -zxvf zlib-1.2.11.tar.gz
编译
./configure
安装
make && make install
前往官网 https://nginx.org/ 下载最新版ngimx
下载页面连接https://nginx.org/en/download.html
wget https://nginx.org/download/nginx-1.17.6.tar.gz
解压
编译
安装
安装完成后在usr/local中有个nginx文件夹,里面有个sbin文件为启动脚本
在此处打开终端
./nginx
查看是否启动
ps -ef | grep nginx
配置文件 usr/local/nginx/config/nginx.config
中默认地址为80端口
浏览器中输入本机IP地址,查看是否能访问
查看防火墙开放端口:
firewall-cmd --list-all
添加防火墙开放端口
firewall-cmd --add-port=80/tcp --permanent
重载防火墙
firewall-cmd --reload
之后就可以从外网访问了
查找配置文件路径
ps aux | grep nginx
设置开启启动,由于是源码编译安装的 ,所以要手动创建nginx.service服务文件。
vi /lib/systemd/system/nginx.service
写入以下内容,保存。
[Unit]
Description=nginx
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
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
设置开机启动
systemctl enable nginx.service
其他命令:
systemctl start nginx.service (启动nginx服务)
systemctl stop nginx.service (停止nginx服务)
systemctl enable nginx.service (设置开机自启动)
systemctl disable nginx.service (停止开机自启动)
systemctl status nginx.service (查看服务当前状态)
systemctl restart nginx.service (重新启动服务)
systemctl list-units –type=service (查看所有已启动的服务)
systemctl reload nginx.service (重载Nginx)
nginx -t测试