Linux nginx安装和部署
1.安装依赖
yum install gcc
yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
#一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2.下载nginx的tar包/或官网下好上传到nginx目录
#创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
#下载tar包,可根据需求来下载何种版本
wget http://nginx.org/download/nginx-1.13.7.tar.gz
#解压
tar -xvf nginx-1.13.7.tar.gz
3.安装nginx
#进入nginx目录
cd /usr/local/nginx/nginx-1.13.7
#执行命令
./configure --with-http_ssl_module
#执行make命令
make
#执行make install命令
make install
ps:
有些朋友make 或者 make install的时候会报错,根本原因可能是你的服务器版本过高或者nginx版本过高
可以尝试更换nginx版本,例如我之前的centos7装1.13.7没问题,centos8就有问题,换成1.14.2版本又可以了
仅仅是个人经验,未经过大批量的实验,仅供参考
4.Nginx常用命令
# 测试配置文件
安装路径下的/nginx/sbin/nginx -t
# 启动命令
安装路径下的/nginx/sbin/nginx
# 停止命令
安装路径下的/nginx/sbin/nginx -s stop
或者 : nginx -s quit
# 重启命令
安装路径下的/nginx/sbin/nginx -s reload
#查看进程命令
ps -ef | grep nginx
#平滑重启
kill -HUP Nginx主进程号
5.配置防火墙
# 打开防火墙文件
sudo vim /etc/sysconfig/iptables # 新增行 开放80端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
# 重启防火墙
sudo service iptables restart
6.Nginx虚拟域名配置及测试验证
#编辑nginx.conf
sudo vim /usr/local/nginx/conf/nginx.conf//增加行
include vhost/*.conf
# 保存退出
# 在/usr/local/nginx/conf目录新建vhost文件夹
mkdir vhost
# 创建每个域名的配置
sudo vim jimisun.com.conf
# 节点中增加入响应的配置 端口转发 或者访问文件系统
7.Nginx启动和停止
# 进入nginx安装目录
cd ...nginx/sbin
# 启动
./nginx
# 停止
./nginx -s stop
8.检查状态
# 检查进程
ps -ef|grep nginx
# 查看状态
curl http://127.0.0.1/ngx_status
#修改nginx的配置文件conf/nginx.conf,添加用于外部访问的端口,如下所示:
server {
listen 8089;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /tjg {
#将ip:8089/tjg 请求转发到 127.0..0.1:8080
proxy_pass http://127.0.0.1:8080;
}
#转发的/project要和被指向的文件夹/project同名
location /project/ {
root /usr/local/nginx/html/project/;
index index.html index.htm;
}
location / {
root web1;
try_files $uri $uri/ /index.html =404;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# 一般修改listen后面是端口号,
Location / 是配置路径转发等,其下面的 root 可配置成
root /home/scb/nginx/... 类似这样的绝对路径
root html/ 相对路径
上述配置完访问ip:8089 即可访问到相对目录web1里的index.html页面和/project里的页面