安装依赖
yum -y install gcc gcc-c++ autoconf automake make
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
添加www用户
groupadd -f www
useradd -g www www
下载Nginx
# 任意目录
wget http://nginx.org/download/nginx-1.18.0.tar.gz
# 解压
tar -xzvf nginx-1.18.0.tar.gz
# 进入目录
cd nginx-1.18.0
编译安装
# 配置nginx
# --prefix 指定安装的目录
# /usr/local/nginx 是安装目录,不能和自己下载的文件目录重了
# ./configure --prefix=/usr/local/nginx
# 带ssl stub_status模块 添加strem模块 –with-stream,这样就能传输tcp协议了
# http_stub_status_module 状态监控
# http_ssl_module 配置https
# stream 配置tcp转发
# http_gzip_static_module 压缩
# http_sub_module 替换请求
# --user 指定用户
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream --with-http_gzip_static_module --with-http_sub_module
# 安装
make && make install
由于我们安装时指定了目录./configure --prefix=/usr/local/nginx
,安装成功后会在/usr/local/nginx
创建4个文件夹。
# 创建软链接,让nginx命令在任何目录下可使用
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
# 启动 nginx服务
nginx
# 停止服务
nginx -s stop
# 重启服务
nginx -s reload
# 查看nginx版本
nginx -v
# 查看启动情况
ps -ef|grep nginx
# 查看端口情况,没有netstat命令记得安装:yum install net-tools -y
netstat -ano|grep 80
# 查看是否启动成功,看到welcome to nginx即是成功
curl 127.0.0.1
开放防火墙80端口
# --zone #作用域
# --add-port=80/tcp #添加端口,格式为:端口/通讯协议
# --permanent #永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重启防火墙
firewall-cmd --reload
设置Nginx自启动
新建服务
# 进入/lib/systemd/system/目录
cd /lib/systemd/system/
# 新建文件
vi nginx.service
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
现在可以通过服务来操作Nginx了
# 启动nginx服务
systemctl start nginx.service
# 停止服务
systemctl stop nginx.service
# 重新启动服务
systemctl reload nginx.service
# 查看所有已启动的服务
systemctl list-units --type=service
# 查看服务当前状态
systemctl status nginx.service
# 设置开机自启动
systemctl enable nginx.service
# 停止开机自启动
systemctl disable nginx.service
设置自启动
# 服务自启
systemctl enable nginx.service
# 取消自启
systemctl disable nginx.service
文章参考
https://blog.csdn.net/yelllowcong/article/details/76382900
https://www.cnblogs.com/jepson6669/p/9131217.html