简单的nginx配置

nginx源码安装

首先,下载一个nginx软件包,然后对其进行解压。

tar zxvf nginx-1.12.2.tar.gz	#解压nginx软件包,生成一个nginx目录
cd /nginx-1.12.2/				#进入该目录

yum -y install gcc gcc-c++ pcre-devel zlib-devel make	#安装下依赖包

./configure --prefix=/usr/local/nginx \		#指定安装路径
--user=nginx \								#指定用户
--group=nginx \								#指定组
--with-http_stub_status_module				#开启状态统计模块,可以通过网页查看服务状态
make && make install						#编译并安装

useradd -M -s /sbin/nologin nginx			#创建一个nginx的用户,并且不给家目录不给登录,防止有人用过nginx的家目录进行入侵

ln -s /usr/local/nginx/sbin/* /usr/local/sbin/	#创建启动文件的软连接放入/usr/local/sbin/目录下,使得通过nginx可以直接启动该服务

将nginx加入systemctl管理

vim /usr/lib/systemd/system/nginx.service		#在system目录下创建一个nginx.service文件

#在文件中写入下面的内容
[Unit]
Description=nginx								
After=network.target							
[Service]
Type=forking									
PIDFile =/usr/local/nginx/logs/nginx.pid		#pid文件位置
ExecStart=/usr/local/nginx/sbin/nginx			#启动文件的位置
ExecReload=/bin/kill -s HUP $MAINPID			#重载服务的配置
ExecStop=/bin/kill -s QUIT $MAINPID				#停止服务
PrivateTmp=true									
[Install]
WantedBy=multi-user.targe						#设置启动级别

#为了安全起见,将nginx.service设置成754的权限
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service					#启动nginx
systemctl enable nginx.service 					#将nginx设置为开机自启

开启状态统计

首先为了便于本机通过域名访问搭建的nginx(方便测试),在/etc/hosts文件中写入域名和ip地址的映射,并在nginx.conf文件中修改域名

echo "192.168.214.214 www.shiki.com" >> /etc/hosts
cp nginx.conf nginx.conf.bak					#对配置文件修改前记得备份
vim /usr/local/nginx/conf/nignx.conf
#在37行找到server_name,把后面的域名修改一下 
server_name  www.shiki.com;

然后在46行后新添加几行内容,这几行内容表示开启状态统计

location /status {					#这里的/表示的是www.shiki.com这个域名,/表示的目录就是/usr/local/nginx/html
		stub_status on;				#开启状态统计
		access_log off;				#关闭日志记录,可以开,但没必要
	}

systemctl restart nginx				#保存conf文件中的修改后重启服务

最后验证一下
在这里插入图片描述
Active connections :表示当前的活动连接数;
service accepts handled requests:表示已经处理的连接信息,三个数字依次表示已处理的连接数、成功的TCP握手次数、已处理的请求数

访问控制

首先创建一个用户zhnagsan,之后我们要对zhangsan进行访问限制,访问限制即对用户访问目录进行限制,在网页上的体现就是访问某些网页是要求认证才能继续访问。

useradd zhangsan
echo "123" |passwd --stdin zhangsan

访问限制需要用到httpasswd这个工具,这个工具依赖于httpd-tools

yum -y install httpd-tools
httpasswd -c /usr/local/nginx/passwd.db zhangsan		#db代表这是一个数据文件
New password: 								#输入登录网页的验证密码
Re-type new password: 
Adding password for user zhangsan			#密码设置成功
chown nginx /usr/local/nginx/passwd.db		#将passwd.db文件属组设置为nginx
chmod 400 /usr/local/nginx/passwd.db		#设置一下权限
vim /usr/local/nginx/conf/nginx.conf

#在43行这里的location中添加下面的内容
location / {
		auth_basic "secret";
		auth_basic_user_file /usr/local/nginx/passwd.db;
		root   html;
		index  index.html index.htm;
	}
systemctl restart nginx						#重启服务

清除一下浏览器的cookie缓存,最后验证一下
在这里插入图片描述

虚拟主机

首先创建一个新的域名和ip地址的映射,在创建一个存放网页文件的目录,最后在这个目录中创建一个主页文件

echo "192.168.214.214 www.darksoul.com" >> /etc/hosts
mkdir -p /var/www/html/darksoul
echo "<h1>good luck have fun</h1>" >/var/www/html/darksoul/index.html

基于域名的虚拟主机

进入nginx.conf文件中,在大约89行,把那一段注释去掉,然后进行修改

vim /usr/local/nginx/conf/nginx.conf
#修改成下面的样子
server {
        listen       80;
        server_name  www.darksoul.com;
        charset utf-8;
        access_log logs/darksoul.access.log;
        location / {
            root   /var/www/html/darksoul;
            index  index.html index.htm;
        }
        error_page      500 502 503 504 /50x.html;
        location = /50x.html {
            root   html;
        }
    }
systemctl restart nginx

验证一下
在这里插入图片描述

基于不同ip地址的虚拟主机

server {
        listen       192.168.214.215:80;
        server_name  www.darksoul.com;
        charset utf-8;
        access_log logs/darksoul.access.log;
        location / {
            root   /var/www/html/darksoul;
            index  index.html index.htm;
        }
        error_page      500 502 503 504 /50x.html;
        location = /50x.html {
            root   html;
        }
    }

验证一下
在这里插入图片描述

基于不同端口的虚拟主机

server {
        listen       192.168.214.214800;
        server_name  www.darksoul.com;
        charset utf-8;
        access_log logs/darksoul.access.log;
        location / {
            root   /var/www/html/darksoul;
            index  index.html index.htm;
        }
        error_page      500 502 503 504 /50x.html;
        location = /50x.html {
            root   html;
        }
    }

验证一下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值