nginx服务优化与LNMP搭建

•隐藏nginx版本号

http {
    include       mime.types;
    default_type  application/octet-stream;
    server_tokens off;                           #添加,关闭版本号
    ......

•修改用户与组

#修改配置文件
vim /usr/local/nginx/conf/nginx.conf
user  lili lili;  #取消注释,修改用户为 lili ,组为 lili
#创建非登录用户
useradd -s /sbin/nologin lili
#重启服务
systemctl restart nginx
#查看是否修改成功
ps aux | grep nginx

•缓存时间

当nginx将网页数据返回给客户端后,可设置缓存时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度一般针对静态网页设置

#修改配置文件
vim /usr/local/nginx/conf/nginx.conf
        #添加以下内容
        location ~ \.(jpg|png|bmp|gif)$ {
            root   html;
            expires 1d;                 #缓存时间一天
        }
​
#重启服务
nginx -s reload

•日志分割

#写脚本
vim /usr/local/nginx/nginx_log.sh 
#!/bin/bash
#this is for divide nginx log
d=$(date +%F -d -1day)                                       #显示前一天的时间
path="/var/log/nginx"   
pid="/usr/local/nginx/logs/nginx.pid"
[ -d $path ] ||mkdir -p $path                                #创建日志文件目录
mv /usr/local/nginx/logs/access.log ${path}/www.yxp.com-$d   #移动并重命名日志文件
kill -USR1 $(cat $pid)                                       #重建新日志文件
find $path -mtime +30 -delete                                #删除30天之前的日志文件
​
#赋予权限
chmod +x /usr/local/nginx/nginx_log.sh 
#计划任务
[root@localhost nginx]#crontab -e
30 1 * * * /usr/local/nginx/nginx_log.sh

•连接超时

在企业网站中,为了避免同一个客户长时间占用连接,造成资源浪费,可设置相应的连接超时参数,实现控制连接访问时间。可以修改配置文件 nginx.conf,设置 keepalive_timeout超时

#修改配置文件
vim /usr/local/nginx/conf/nginx.conf
​
    #keepalive_timeout  0;
     keepalive_timeout  65 180;
​
#重启nginx服务
nginx -s reload
​

•更改进程数

#统计cpu核数
cat /proc/cpuinfo |grep processor|wc -l
或
cat /proc/cpuinfo |grep -c processor
​
#查看目前有的核数
ps -aux |grep nginx
​
​
#修改 Nginx 的配置文件worker_processes 参数,一般设为 CPU 的个数或者核数,在高并发的情况下可设置为 CPU 个数或者核数的 2 倍,可以查看 CPU 的核数以确定参数。
vim /usr/local/nginx/conf/nginx.conf
​
worker_processes  16;
​
重启服务并查看
nginx -s reload
ps -aux |grep nginx

•网页压缩

#修改配置文件
 gzip on;                         #取消注释,开启gzip压缩功能
 gzip_min_length 1k;              #最小压缩文件大小
 gzip_buffers 4 16k;              #压缩缓冲区,大小为4个16k缓冲区
 gzip_http_version 1.1;  #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
 gzip_comp_level 6;               #压缩比率
 gzip_vary on;                    #支持前端缓存服务器存储压缩页面
 gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json;       #压缩类型,表示哪些网页文档启用压缩功能
​
#重启服务
nginx -s reload
​

•配置防盗链

#######在nginx源主机(192.168.64.10)做基于域名的虚拟主机########
vim /usr/local/nginx/conf/nginx.conf
 
    server {
        listen       80;
        server_name  www.wmc.com; 

vim /usr/local/nginx/html/index.html   #定义图片源文件
<img src="game.png"> 

echo '192.168.64.10 www.wmc.com' >/etc/hosts  #添加域名解析


#######在httpd盗链网站主机(192.168.64.20)网页准备########
yum install -y httpd

#切换至/var/www/html
cd /var/www/html
vim index.html 

<html>
<body>
<h1>this is yxp
<img src="http://www.wmc.com/game.jpg"/>
</body>
</html>


systemctl start httpd   #开启服务
echo '192.168.64.10 www.wmc.com' >/etc/hosts    #添加域名解析


########在nginx源主机(192.168.64.10)配置#########
vim /usr/local/nginx/conf/nginx.conf
     
     location ~* \.(jpg|swf)$ {
                  valid_referers none blocked *.wmc.com wmc.com;
            if ( $invalid_referer ) {
                           rewrite ^/ http://www.wmc.com/error.png;
                           }
}
        
#重启服务
systemctl restart nginx.service

#在网页测试
盗链主机网页: http://192.168.64.20

LNMP平台部署(Linux、Nginx、MySQL、PHP)

源码安装Nginx(端口80) ,yum安装MySQL(端口3306)、PHP(端口9000)
需要安装的软件:
•nginx
•mariadb、mariadb-server、mariadb-devel
•php、php-fpm、php-mysql
备注:mariadb(数据库客户端软件)、mariadb-server(数据库服务器软件)、mariadb-devel(其他客户端软件的依赖包)、php(解释器)、php-fpm(进程管理器服务)、php-mysql(PHP的数据库扩展包)。
 

[root@localhost ~]#yum install -y mariadb mariadb-server mariadb-devel php php-fpm php-mysql
[root@localhost ~]#systemctl start mariadb.service  #启动MySQL服务
[root@localhost ~]#systemctl enable mariadb.service #开机自启MySQL服务
[root@localhost ~]#systemctl start php-fpm.service  #启动PHP服务
[root@localhost ~]#systemctl enable php-fpm.service #开机自启PHP服务
​
fpm参数优化
配置文件: /usr/local/php/etc/php-fpm.conf
[root@localhost ~]# egrep -v '^;|^$' /etc/php-fpm.d/www.conf 
listen = 127.0.0.1:9000                 #端口
pm = dynamic                            #fpm进程启动方式,动态的
pm.max_children = 50                    #fpm进程启动的最大进程数
pm.start_servers = 5                    #动态方式下启动时默认开启的进程数
pm.min_spare_servers = 5                #动态方式下最小空闲进程数
pm.max_spare_servers = 35               #动态方式下最大空闲进程数
​
论坛部署
#让nginx支持PHP功能,进入nginx主配置文件
vim /usr/local/nginx/conf/nginx.conf 
​
--65行--取消注释,修改
location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;  #将/scripts修改为nginx的工作目录
    include        fastcgi_params;
}
​
#重启服务
nginx -s reload
​
​
#登入数据库
mysql -u root -p 
​
CREATE DATABASE bbs;                  #创建数据库
GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';                           
flush privileges;                     #刷新
​
​
​
unzip Discuz_X3.4_SC_UTF8.zip              #解压论坛压缩包
​
cd dir_SC_UTF8/
cp -r upload/ /usr/local/nginx/html/bbs/   #拷贝文件至数据
cd /usr/local/nginx/html/bbs/
​
#授权
chmod -R 777 ./config/
chmod -R 777 ./data/
chmod -R 777 ./uc_client/
chmod -R 777 ./uc_server/
​
http://192.168.64.10/bbs/install/index.php     #网页安装

                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值