•隐藏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 #网页安装