CentOS7安装LNMP环境 如何使用yum工具分开安装LNMP?

Admin 2023-07-06 群英技术资讯 426 次浏览

今天小编跟大家讲解下有关“CentOS7安装LNMP环境 如何使用yum工具分开安装LNMP?”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。

LNMP环境:linux(centos7)+ngix(1.12.2)+mariadb(5.5.56)+php(5.4.16)

一、安装MariaDB

[plain] view plain  copy

  1. #yum install mariadb mariadb-server #询问是否要安装,输入Y即可自动安装,直到安装完成  
  2.    
  3. #systemctl start mariadb.service #启动MariaDB  
  4.    
  5. #systemctl stop mariadb.service #停止MariaDB  
  6.    
  7. #systemctl restart mariadb.service #重启MariaDB  
  8.    
  9. #systemctl enable mariadb.service #设置开机启动  
  10.    
  11. #cp /usr/share/mysql/my-huge.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)  
  12.    
  13. mysql_secure_installation  
  14.    
  15. 回车,根据提示输入Y  
  16.    
  17. 输入2次密码,回车  
  18.    
  19. 根据提示一路输入Y  
  20.    
  21. 最后出现:Thanks for using MySQL!  
  22.    
  23. MySql密码设置完成,重新启动 MySQL:  
  24. #systemctl restart mariadb.service   
  25.   
  26. 允许远程连接 进入mysql    
  27. #mysql -uroot -p  
  28. >use mysql;  
  29. >GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'MariaDBPassword' WITH GRANT OPTION;  
  30. >quit  
  31. 重启mariadb    
  32. #systemctl restart mariadb.service  

二、安装nginx

由于centos7没有nginx源,所以首先要配置nginx源:

由于yum源中没有我们想要的nginx,那么我们就需要创建一个“/etc/yum.repos.d/nginx.repo”的文件,其实就是新增一个yum源。

[root@niaoyun~]# vim /etc/yum.repos.d/nginx.repo

然后将下面的内容复制进去:

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=0

enabled=1

然后保存“/etc/yum.repos.d/nginx.repo”文件后,我们就使用yum命令查询一下我们的nginx的yum源配置好了没有。

[root@niaoyun~]# yum list |grep nginx

nginx.x86_64 1:1.10.1-1.el7.ngx nginx

nginx-debug.x86_64 1:1.8.0-1.el7.ngx nginx

nginx-debuginfo.x86_64 1:1.10.1-1.el7.ngx nginx

nginx-module-geoip.x86_64 1:1.10.1-1.el7.ngx nginx

nginx-module-image-filter.x86_64 1:1.10.1-1.el7.ngx nginx

nginx-module-njs.x86_64 1:1.10.1.0.0.20160414.1c50334fbea6-1.el7.ngx

nginx

nginx-module-perl.x86_64 1:1.10.1-1.el7.ngx nginx

nginx-module-xslt.x86_64 1:1.10.1-1.el7.ngx nginx

nginx-nr-agent.noarch 2.0.0-9.el7.ngx nginx

pcp-pmda-nginx.x86_64 3.10.6-2.el7 base

执行安装:

 

 

[plain] view plain  copy

   

  1. #yum install nginx  
  2.    
  3. 启动    
  4. #systemctl start nginx.service  
  5.    
  6. 自动启动  
  7. #systemctl enable nginx.service  
  8.    
  9. #mkdir /data  
  10. #mkdir /data/logs  
  11. #mkdir /data/logs/nginx  
  12. #chown -R nginx:nginx /data/logs/nginx  
  13.    
  14. 配置  
  15. #vi /etc/nginx/nginx.conf  
  16.    
  17. error_log /data/logs/nginx/error.log;  
  18.    
  19. events {  
  20.     worker_connections 1024;  
  21.     use epoll;  //增加此行 如果你使用Linux 2.6+,你应该使用epoll。  
  22. }  
  23.   
  24. http {  
  25.      access_log  /data/logs/nginx/access.log  main;  

三、安装php

 

 

[plain] view plain  copy

   

  1. #yum install php php-fpm php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash    
  2. 启动php-fpm  
  3. #systemctl start php-fpm.service  
  4. 自动启动php-fpm  
  5. #systemctl enable php-fpm.service 

四、配置PHP、NginX

1、配置PHP

[plain] view plain  copy

  1. # vi /etc/php.ini  
  2.    
  3. 修改如下内容 (可根据情况修改)     
  4.    
  5. memory_limit = 256M    
  6. upload_max_filesize = 256M  
  7. post_max_size = 256M  
  8. ----------------------------------- 
  9.    
  10. 保存,  
  11.    
  12. 然后  
  13. 由于php-fpm中session保存目录为:php_value[session.save_path] = /var/lib/php/session
  14. mkdir /var/lib/php/session   
  15. chmod -R 777 /var/lib/php/session  
  16.  

2、配置NginX 

[php] view plain  copy

  1. # nginx虚拟主机配置文件一般都在/etc/nginx/conf.d目录下,每添加一个子域名,就创建一个.conf文件,配置如下    
  2. # vi /etc/nginx/conf.d/phplee.com.conf      
  3. # phplee.com    
  4.   
  5. server {      
  6.     listen       80;      
  7.     server_name  www.phplee.com phplee.com;      
  8.     root /usr/www/phplee.com;    
  9.     index  index.html index.htm index.php;     
  10.            
  11.     location / {      
  12.         try_files $uri $uri/ /index.php$is_args$args;    
  13.     }   
  14.       
  15.     location ~ \.php$ {    
  16.         fastcgi_pass   127.0.0.1:9000;    
  17.         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;    
  18.         include        fastcgi_params;    
  19.     }    
  20.       
  21.     #以上是基本配置,包含运行php脚本的fastcgi配置,下面是其他功能配置    
  22.     location @rewrite {      
  23.         set $static 0;      
  24.         if  ($uri ~ \.(css|js|jpg|jpeg|png|gif|ico|woff|eot|svg|css\.map|min\.map)$) {      
  25.             set $static 1;      
  26.         }      
  27.         if ($static = 0) {      
  28.             rewrite ^/(.*)$ /index.php?s=/$1;      
  29.         }      
  30.     }      
  31.     location ~ /Uploads/.*\.php$ {      
  32.         deny all;      
  33.     }         
  34.     location ~ /\.ht {      
  35.         deny  all;      
  36.     }   
  37.       
  38.     error_page    404    /404.html;    
  39.     location = /404.html {      
  40.         return 404 'Sorry, File not Found!';      
  41.     }      
  42.     error_page  500 502 503 504  /50x.html;      
  43.     location = /50x.html {      
  44.         root   /usr/share/nginx/html; # windows dir       
  45.     }     
  46. }  

  

注意: root 项应该配置在server下,这样 php配置项才能正常读取,如果root项配置在location下面,则php配置项$document_root应为真实路径 /usr/www/phplee.com

[php] view plain  copy

  1. fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;   

在最新的 nginx 版本中,使用 fastcgi.conf 代替 fastcgi.params ,因为在 fastcgi.conf 中多了一个 fastcgi_param  配置:

 

[plain] view plain  copy

 

  1. fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;  

所以在

location ~ \.php$ {

...

}

中不再需要配置该参数。

五、防火墙配置

 

CentOS 7 网络防火墙由 iptables 变为 firewalld,操作方法如下:

[plain] view plain  copy

 

  1. # 查看 firewalld 当前激活区块信息  
  2. [root@localhost test1]# firewall-cmd --get-active-zones  
  3. public  
  4.   interfaces: enp0s9 enp0s10  
  5. # 查看 public 区块所有的规则,这里有2个services,0个ports规则  
  6. [root@localhost test1]# firewall-cmd --zone=public --list-all  
  7. public (active)  
  8.   target: default  
  9.   icmp-block-inversion: no  
  10.   interfaces: enp0s9 enp0s10  
  11.   sources:  
  12.   services: ssh dhcpv6-client  
  13.   ports:  
  14.   protocols:  
  15.   masquerade: no  
  16.   forward-ports:  
  17.   source-ports:  
  18.   icmp-blocks:  
  19.   rich rules:  
  20. # 添加 80 和3306 端口的永久开启规则  
  21. [root@localhost test1]# firewall-cmd --zone=public --add-port=80/tcp --permanent  
  22. success  
  23. [root@localhost test1]# firewall-cmd --zone=public --add-port=3306/tcp --permanent  
  24. success  
  25. # 重新加载所有规则  
  26. [root@localhost test1]# firewall-cmd --reload  
  27. success  
  28. # 再次查看,发现刚才添加的规则已生效  
  29. [root@localhost test1]# firewall-cmd --zone=public --list-all  
  30. public (active)  
  31.   target: default  
  32.   icmp-block-inversion: no  
  33.   interfaces: enp0s9 enp0s10  
  34.   sources:  
  35.   services: ssh dhcpv6-client  
  36.   ports: 80/tcp 3306/tcp  
  37.   protocols:  
  38.   masquerade: no  
  39.   forward-ports:  
  40.   source-ports:  
  41.   icmp-blocks:  
  42.   rich rules:  

访问nginx站点,正常显示~!


以上就是关于“CentOS7安装LNMP环境 如何使用yum工具分开安装LNMP?”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注群英网络,小编每天都会为大家更新不同的知识。

群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服