centos7 64位下安装nginx
软件准备
安装Nginx需要先安装下列软件包:
GCC PCRE zlib opensslGCC和PCRE之前在centos7中使用源码安装apache2.4的时候已经安装过,这里用再安装;
这里需要下载安装zlib后再安装nginxzlib官网下载地址:
openssl官网下载地址
nginx官网下载地址:
安装
将zlib、OpenSSL、nginx源码包上传到centos7
打开terminal执行:
scp /Users/ux/Downloads/zlib-1.2.11.tar.gz ux@10.211.55.5:/home/ux/mysoft/ scp /Users/ux/Downloads/nginx-1.12.2.tar.gz ux@10.211.55.5:/home/ux/mysoft/该命令将macOS系统中位于下载文件夹下的zlib-1.2.11.tar.gz和nginx-1.12.2.tar.gz 源码包上传到centos7的/home/ux/mysoft文件夹下。
解压,编译,安装
解压zlib: gzip -d zlib-1.2.11.tar.gz tar -xf zlib-1.2.11.tar 编译安装zlib: cd zlib-1.2.11 ./configure sudo make sudo make install 解压OpenSSL gzip -d openssl-1.0.2n.tar.gz tar -xf openssl-1.0.2n.tar 安装OpenSSL ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl sudo make sudo make install 如果zlib正常安装,则继续安装nginx: 解压nginx gzip -d nginx-1.12.2.tar.gz tar -xf nginx-1.12.2.tar 编译安装nginx: cd nginx-1.12.2 ./configure --prefix=/usr/local/nginx --with-openssl=/home/ux/mysoft/openssl-1.0.2n --with-http_ssl_module 注意:这一步要指定OpenSSL源码包的位置(是OpenSSL源码包位置,不是OpenSSL的安装位置!!),否则后续无法使用ssl模块。 sudo make sudo make install
启动测试
在安装nginx时执行./configure可以看到。nginx默认安装到
/usr/local/nginx/下启动nginx:
cd /usr/local/nginx/sbin ./nginx快速停止nginx:
./nginx -s stop正常停止nginx:
./nginx -s quit置文件修改重装载命令:
./nginx -s reload关闭防火墙或者把80端口放行:
systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 firewall-cmd --zone=public --add-port=80/tcp --permanent #开启80端口,这样外部就能访问nginx的80端口了 --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效
软件包百度云连接
链接
链接:https://pan.baidu.com/s/1qYyZvhM 密码:1xti
参考文章
openssl
NGINX的参数
NGINX的参数
nginx指定文件路径有两种方式root和alias,指令的使用方法和作用域: [root] 语法:root path 默认值:root html 配置段:http、server、location、if [alias] 语法:alias path 配置段:location root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。 ************************************************ root的处理结果是:root路径+location路径 alias的处理结果是:使用alias路径替换location路径 ************************************************ alias是一个目录别名的定义,root则是最上层目录的定义。 ###这句话有待考证: 还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的。。。 而root则可有可无~~
root实例
location ^~ /t/ {
root /www/root/html/;
location ^~ /t/ {
root /www/root/html/;
}
如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/t/a.html的文件。
alias实例:
location ^~ /t/ {
alias /www/root/html/new_t/;
location ^~ /t/ {
alias /www/root/html/new_t/;
}
如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/new_t/a.html的文件。
注意这里是new_t,因为alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。
注意:
1. 使用alias时,目录名后面一定要加"/"。
3. alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。
4. alias只能位于location块中。(root可以不放在location中)
> http://www.nginx.cn/4658.html