推荐!!!另一种安装方式:linux在线安装nginx
安装
安装依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
安装nginx
//切到该文件夹
cd /usr/local/src
//下载tar包,若无法下载 http://nginx.org/下载后传到服务器
wget http://nginx.org/download/nginx-1.13.7.tar.gz
//解压
tar -xvf nginx-1.13.7.tar.g
//切到文件夹
cd nginx-1.13.7
//执行命令
./configure
//执行make命令
make
//执行make install命令
make install
//切到安装好的位置
cd /usr/local/ngnix/sbin
//启动
./nginx
//查看进程命令
ps -ef | grep nginx
- 成功后如图所示
- 可以将路径增加到/etc/profile文件,这样即可在全局使用nginx命令,而不用切换到 /usr/local/ngnix/sbin
!改好后关掉再打开即可生效
红框内为新增内容
配置
主要配置在/usr/local/nginx/conf目录下的nginx.conf文件,如下图所示
- 最好修改一下端口
- 修改root为放自己项目的地址
- 重新加载配置
nginx -s reload
- 重新启动
nginx -s reopen
注意事项
- location下的root为相对位置,root地址+location后的‘/’组成完整的地址 -->
..../demo/
- 如果像我一样将项目放在root文件夹下,会出现403权限问题,需要修改该文件第一行的
#user nobody
去掉注释并修改为为user root
测试
比如使用vue打包完成,将dist文件夹内的
所有内容放到root对应的地址。
打开浏览器,输入http:ip(服务器地址):[修改的端口号]
注意事项
在nginx.conf文件内复制多个server配置,修改端口listen
和项目地址location
,然后重新加载配置nginx -s reload
和重启 nginx -s reopen
。注意一定要在服务器上确保端口已开,否则配置正确也无法访问成功
配置ssl(https)
如果你还需要配置ssl,不用重新安装nginx
步骤
1.可以从阿里云购买证书,并下载XX.pem和XX.key文件
2.在配置目录/usr/local/nginx/conf下新建文件夹cert,并将XX.pem和XX.key文件放入
3.在修改nginx.conf之前和重新加载和启动之前,一定要先进行安装with-http_ssl_module模块,否则会报nginx:[emerg]unknown directive ssl
错误
安装with-http_ssl_module模块需要先切换到安装目录cd /usr/local/src/nginx-1.13.7
下
-
添加ssl模块
-
./configure --with-http_ssl_module
-
编译,一定不要用make install
-
make
-
把编译好的文件替换之前的,可先备份一下原来的文件
-
cp /usr/local/nginx/sbin/nginx /usr/local/nginx
-
新的 nginx 覆盖旧的,询问是否覆盖时输入
y
,此步骤若有错误可试一下nginx -s quit
-
cp objs/nginx /usr/local/nginx/sbin/nginx
-
查看一下是否安装成功
-
./usr/local/nginx/sbin/nginx -t
-
若
nginx -s quit
过,记得切换到cd usr/local/nginx/sbin
重启 -
./nginx
-
修改nginx.conf配置
server {
listen 443;
server_name a.b.com; // 这里就是之前注册证书时的域名
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/刚刚复制的文件名称.pem;
ssl_certificate_key cert/刚刚复制的文件名称.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
- 重新加载配置
nginx -s reload
- 重启
nginx -s reopen
测试
浏览器打开a.b.com,看到欢迎界面,表示配置成功
若要修改成自己的项目,则修改nginx.conf文件server 443的 location