环境准备:
1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。
命令:yum install gcc-c++
2.Nginx的http模块需要使用pcre来解析正则表达式,需要安装pcre。
命令:yum install -y pcre pcre-devel
3.安装依赖的解压包。
命令:yum install -y zlib zlib-devel
4.ssl 功能需要 openssl 库,安装 openssl。
命令:yum install -y openssl openssl-devel
然后到官网下载nginx:
进入Nginx官网,点击 download:
下载完成后,新建nginx文件夹,然后将nginx-1.16.1.tar.gz压缩包移动到新建的nginx文件夹下。我这里路径是 /usr/local/nginx:
解压安装
1.使用命令:tar -zxvf nginx-1.16.1.tar.gz 解压;
2.依次执行以下命令:
./configure --prefix=/usr/local/nginx(进到新建的nginx文件夹内执行,如果是https的换成该命令:./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module)
make
make install (报错参考:nginx 执行make install 报错问题解决make[1]: *** [install] Error 1_清晨的技术博客_51CTO博客)
配置nginx.conf
输入命令:vi /usr/local/nginx/conf/nginx.conf进入配置文件如下:
1代表前端访问的端口,这个端口需要服务器上开通,server_name是服务器ip或者用localhost
2代表的是后端应用访问地址:服务器ip或者用localhost+后端端口(端口号后面不要带/)
8089是nginx配置的前端的访问端口
3代表的是前端代码所在路径,以及首页index
默认端口是80,因为可能会和Apache使用的端口冲突,这里改为8089;server_name修改为Linux的IP地址就可以。
有时候可能需要两个前端项目,可以这样加一个前端配置:
配置图片访问路径:
使用alias时匹配到/home/image路径后,直接到/home/image该路径访问项目,使用root时,会匹配到/home/image 后,然后到/home/image/home/image访问项目
启动Nginx
进入 /usr/local/nginx/sbin 目录,执行命令:./nginx 启动Nginx;
然后查看Nginx进程是否启动:
关闭防火墙
若想使用外部主机连接上虚拟机访问Nginx,需要关闭虚拟机的防火墙。
centOS6及以前版本使用命令: systemctl stop iptables.service
centOS7关闭防火墙命令: systemctl stop firewalld.service
随后访问该ip+端口号即可访问项目:
附:如以上步骤安装nginx无法启动,可卸载参考此方法重新安装即可:
安装nginx ssl
1:下载nginx 安装包
2:下载依赖包:
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
3:进入目录解压包
cd /usr/local
tar -xvf nginx-1.16.1.tar.gz
4:cd nginx-1.16.1
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
如果报错: ./configure: error: the HTTP gzip module requires the zlib library.
需要安装“zlib-devel”即可。
SSH执行命令:yum install -y zlib-devel
如果报错:/configure: error: the HTTP rewrite module requires the PCRE library. You ca
安装pcre-devel解决问题
yum -y install pcre-devel
继续执行以下命令
make
//执行make install命令
make install
5:启动 nginx : /usr/local/nginx/sbin/nginx -s reload
如果出现报错:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed
则运行:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
或者 cd /usr/local/nginx/sbin/
./nginx 再次启动即可!
6:查看进程 ps -ef | grep nginx