一. LNMP环境快速部署 Nginx 简介 Nginx与Apache性能综合对比,如下图:
lnmp: 高并发连接 apache 默认并发400 建议并发2000 apache 同步响应 如果处理php程序 模块(函数) nginx 默认并发 1024 建议并发 50000 nginx 异步响应 处理php程序 只处理静态文件 一、系统需求 1.CentOS/RHEL/Fedora/Ubuntu 系统 2.需要3GB硬盘剩余空间 3.mysql5.6 或者 MariaDB10 必须 1G以上内存 4.linux 下严格区分大小写 输入的命令请注意 5.确保yum源 正常使用!!!!!! 二、一键安装包 优点: 简单 一键安装 缺点: 完全没有自定性 lnmp 安装会覆盖lamp 注意: 关闭 rpm默认安装的apache和mysql lamp准备的工作 nginx安装时候 也需要完成 准备内容 1.准备yum源正常 2.光盘挂载成功 3.所有lamp准备工作完成 防火墙是否关闭selinux是否关闭 4.删除其他的apache 和mysql安装的内容 三、安装步骤 1.下载并安装lnmp 一键安装包 2.将安装包放置到linux下面 3.tar -zxvf lnmp1.2.-full.tar.gz 4.cd lnmp1.2-full 5…/install.sh lnmp 四、
按上述命令执行后,会出现如下提示:
需要设置MySQL的root密码(不输入直接回车将会设置为root),输入后回车进入下一步,如下图所示:
这里需要确认是否启用MySQL InnoDB,如果不确定是否启用可以输入 y ,输入 y 表示启用,输入 n 表示不启用。默认为y 启用,输入后回车进入下一步,选择MySQL版本:
输入MySQL或MariaDB版本的序号,回车进入下一步,选择PHP版本:
输入PHP版本的序号,回车进入下一步,选择是否安装内存优化:
可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车。 如果是LNMPA或LAMP的话还需要设置管理员邮箱
再选择Apache版本
提示"Press any key to install…or Press Ctrl+c to cancel"后,按回车键确认开始安装。 LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin这几个软件。 安装完成 如果显示Nginx: OK,MySQL: OK,PHP: OK
并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并Install lnmp V1.2 completed! enjoy it.的话,说明已经安装成功。
安装失败
如果出现类似上图的提示,则表明安装失败,说明没有安装成功!!
四、LNMP 相关软件安装目录 nginx 目录: /usr/local/nginx mysql 目录: /usr/local/mysql mysql 数据库所在目录: /usr/local/mysql/var php 目录: /usr/local/php phpmyadmin目录: /home/wwwroot/default/phpmyadmin 默认网站目录: /home/wwwroot/default/ nginx 日志目录: /home/wwwlog 五、LNMP相关配置文件位置 nginx 主配置文件: /usr/local/nginx/conf/nginx.conf mysql 配置文件:/etc/my.cnf php 配置文件: /usr/local/php/etc/php.ini 六、LNMP 状态管理命令 LNMP 状态管理 lnmp{start|stop|restart} LNMP 各个程序状态管理: lnmp{nginx|mysql|}{start|stop|restart} lnmp ngix start lnmp mysql stop 七、配置文件 vim /usr/local/nginx/conf/nginx.conf 1 user www www; #nginx 系统用户和用户组(了解) 2 3 worker_processes auto;#启动进程 4 5 error_log /home/wwwlogs/nginx_error.log crit;#错误日志 6 7 pid /usr/local/nginx/logs/nginx.pid; 8#主程序pid保存文件 9 #Specifies the value for maximum file descriptors that can be opened by this process. 10 worker_rlimit_nofile 51200; 11#文件描述符数量 12 events 13 { 14 use epoll;#linux建议使用epoll 15 worker_connections 51200; #单个工作进程最大允许连接数 16 multi_accept on; 17 } 18#http 整个环境配置 19 http 20 { 21 include mime.types; 22 default_type application/octet-stream; 23 #设定mime类型 文件传送类型有mimetype文件定义 24 server_names_hash_bucket_size 128; 25 client_header_buffer_size 32k; 26 large_client_header_buffers 4 32k; 27 client_max_body_size 50m; 28 #serndfile on 是必须设置为on 29 sendfile on; 30 tcp_nopush on; 31 32 keepalive_timeout 60; 33 #连接超时时间 34 tcp_nodelay on; #禁用naglo算法 也就是不缓存数据 35 36 fastcgi_connect_timeout 300; 37 fastcgi_send_timeout 300; 38 fastcgi_read_timeout 300; 39 fastcgi_buffer_size 64k; 40 fastcgi_buffers 4 64k; 41 fastcgi_busy_buffers_size 128k; 42 fastcgi_temp_file_write_size 256k; 43 44 gzip on; 45 gzip_min_length 1k; 46 gzip_buffers 4 16k; 47 gzip_http_version 1.1; 48 gzip_comp_level 2; 49 gzip_types text/plain application/javascript application/x-javas cript text/javascript text/css application/xml application/xml+rss; 50 gzip_vary on; 51 gzip_proxied expired no-cache no-store private auth; 52 gzip_disable “MSIE [1-6].”; 53 #网络压缩 54 #limit_conn_zone KaTeX parse error: Expected 'EOF', got '#' at position 48: …m; 55 #̲#If enable limi…remote_addr - r e m o t e u s e r [ remote_user [ remoteuser[time_local] “ r e q u e s t " ′ 6 0 ′ req uest" ' 60 ' request"′60′status b o d y b y t e s s e n t " body_bytes_sent " bodybytessent"http_referer” ’ 61 '"$http_user_agent" KaTeX parse error: Double subscript at position 7: http_x_̲forwarded_for';… 82 { 83 expires 30d; 84 } 85 静态文件处理保存时间 30天 86 location ~ ..(js|css)?$ 87 { expires 12h; 89 } js和css文件处理保存时间12小时 90 91 location ~ /. 92 { 93 deny all; 94 } 95 #正确访问日志 96 access_log /home/wwwlogs/access.log access; 97 }# vhost 下面是子配置文件生效 98 include vhost/.conf; 99 } 100 八、检查nginx 配置文件语法错误 /usr/local/ngind/sbin/nginx -t 九、nginx 虚拟主机(重点重点重点) www.sina.com 跳转到我们指定的页面上 1.没有目录 创建目录 mkdir /home/wwwroot/sina/ mkdir /home/wwwroot/sohu/ 2.文件夹里面没有测试文件 vim /home/wwwroot/sina/index.html vim /home/wwwroot/sohu/index.html 3.调整我们的配置文件 www.sina.com->/home/wwwroot/sina/index.html vim /usr/local/nginx/conf/nginx.conf server { #listen 80 default_server; listen 80; #listen [::]:80 default_server ipv6only=on; #server_name www.lnmp.org; server_name www.sina.com index index.html index.htm index.php; #root /home/wwwroot/default; root /home/wwwroot/sina; #error_page 404 /404.html; include enable-php.conf; location /nginx_status { stub_status on; access_log off; }
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } #access_log /home/wwwlogs/access.log access;access_log /home/wwwlogs/access_sina.log access; } include vhost/*.conf; }
4.检测配置文件是否修改成功 /usr/local/nginx/sbin/nginx -t 出现下面内容说明配置文件没有任何问题 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
5.重启nginx lnmp restart
十、列表页显示(重点重点重点) 1.修改配置文件 vim /usr/local/nginx/conf/nginx.conf server { #listen 80 default_server; listen 80; #listen [::]:80 default_server ipv6only=on; #server_name www.lnmp.org; server_name www.sina.com index index.html index.htm index.php; #root /home/wwwroot/default; root /home/wwwroot/sina; autoindex on; #error_page 404 /404.html; include enable-php.conf; location /nginx_status { stub_status on; access_log off; }
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } #access_log /home/wwwlogs/access.log access;access_log /home/wwwlogs/access_sina.log access; } include vhost/*.conf; }
2.重启nginx 十一、重定向域名(重点重点重点) www.360buy.com -----> www.jd.com www.xiaomi.com -----> www.mi.com www.sina.com ---------> www.sohu.com 1.修改配置文件 vim /usr/local/nginx/conf/nginx.conf server { #listen 80 default_server; listen 80; #listen [::]:80 default_server ipv6only=on; #server_name www.lnmp.org; server_name www.sina.com index index.html index.htm index.php; #root /home/wwwroot/default; root /home/wwwroot/sina; autoindex on; #下面的内容一定要注意空格 下面所有空格的地方都要给我空出来 if ($http_host = www.sina.com) { rewrite (.*) http://www.sohu.com permanent; } #error_page 404 /404.html; include enable-php.conf; location /nginx_status { stub_status on; access_log off; }
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } #access_log /home/wwwlogs/access.log access;access_log /home/wwwlogs/access_sina.log access; } include vhost/*.conf; }
2.重启你的lnmp