raksmart活动促销

分享

写回答

发帖

CentOS7下安装LNMP以及phpMyAdmin

互联网出海创业 互联网出海创业 2385 人阅读 | 0 人回复

发表于 2016-12-3 14:25:59 | 显示全部楼层 |阅读模式

CentOS7下安装LNMP以及phpMyAdmin
 
wangking写道
工作需要用到CentOS7,要求安装LNMP方式,CentOS7下MYSQL已经被Mariadb替代,这个无所谓,完全兼容的,就不需要过虑。那我们就开始吧!
 
1、安装LNMP之前要安装EPEL,以便安装源以外的软件,如Nginx,phpMyAdmin等。
yum install epel-release
提示:EPEL,即Extra Packages for Enterprise Linux,企业版linux附加包。这个软件仓库里有很多非常常用的软件,而且是专门针对RHEL设计的,对RHEL标准yum源是一个很好的补充,完全免费使用,由Fedora项目维护,所以如果你使用的是RHEL,或者CentOS,Scientific等RHEL系的linux,可以非常放心的使用EPEL的yum源。 
 
2、安装Nginx
a) yum install nginx
b) systemctl start nginx #启动nginx
c) systemctl enable nginx #设置开机启动
 3、安装MYSQL(MariaDB)
a) yum install mariadb-server mariadb
b) systemctl start mariadb #启动mariadb
c) systemctl enable mariadb #设置开机启动
 4、设置MariaDB密码
mysql_secure_installation #会要求输入原密码,直接点击回车就行,剩下的就是输入新密码以及确认密码
5、安装PHP
yum install -y php php-devel php-fpm php-mysql php-common php-devel php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel
 
6、开启php-fpm
a) systemctl start php-fpm #开启php-fpm
b) systemctl enable php-fpm #开机自动启动
7、安装phpMyAdmin
 
a) wget https://files.phpmyadmin.net/phpMyAdmin/4.4.12/phpMyAdmin-4.4.12-all-languages.zip
b) cd /usr/share/nginx/html/
c) unzip phpMyAdmin-4.4.12-all-languages.zip
d) mv phpMyAdmin-4.4.12-all-languages phpmyadmin
e) chown -R nginx.nginx /var/lib/php/session
#访问http://youipaddress/phpmyadmin,如果能访问上,那么就成功了!
 
8、修改相应的配置
      A) 修改php.ini的配置
vim /etc/php.ini
cgi.fix_pathinfo=1 #将注释去掉,开启PHP的pathinfo伪静态功能。
max_execution_time = 0  #脚本运行的最长时间,默认30秒
max_input_time = 300#脚本可以消耗的时间,默认60秒
memory_limit = 256M#脚本运行最大消耗的内存,根据你的需求更改数值,默认128M
post_max_size = 100M  #单提交的最大数据,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的。限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等…默认8M
upload_max_filesize = 10M#上载文件的最大许可大小 ,默认2M
      B) 修改php-fpm的配置
vim /etc/php-fpm.d/www.conf

找到以下两行,解除注释
listen.owner = nobody
listen.group = nobody

找下以下两行,将各自的apache改为nginx
user = apache -> user = nginx
group = apache -> group = nginx
 
     C) 修改nginx的配置
Python代码  
vi /etc/nginx/conf.d/default.conf
server{
    listen 80;
    server_name  198.2.252.170 80;  #改成服务器ip地址。
    root /usr/share/nginx/html; # 该项要修改为你准备存放相关网页的路径
    location / {
        index  index.php index.html index.htm;
         #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则
         if (!-e $request_filename)
         {
            #地址作为将参数rewrite到index.php上。
            rewrite ^/(.*)$ /index.php/$1;
            #若是子目录则使用下面这句,将subdir改成目录名称即可。
            #rewrite ^/subdir/(.*)$ /subdir/index.php/$1;
         }
    }
    #proxy the php scripts to php-fpm
    location ~ \.php {
            include fastcgi_params;
            ##pathinfo支持start
            #定义变量 $path_info ,用于存放pathinfo信息
            set $path_info "";
            #定义变量 $real_script_name,用于存放真实地址
            set $real_script_name $fastcgi_script_name;
            #如果地址与引号内的正则表达式匹配
            if ($fastcgi_script_name ~ "^(.+ \.php)(/.+)$") {
                    #将文件地址赋值给变量 $real_script_name
                    set $real_script_name $1;
                    #将文件地址后的参数赋值给变量 $path_info
                    set $path_info $2;
            }
            #配置fastcgi的一些参数
            fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
            fastcgi_param SCRIPT_NAME $real_script_name;
            fastcgi_param PATH_INFO $path_info;
            ###pathinfo支持end
        fastcgi_intercept_errors on;
        fastcgi_pass   127.0.0.1:9000;
    }
   
    location ^~ /data/runtime {
        return 404;
    }

    location ^~ /application {
        return 404;
    }

    location ^~ /simplewind {
        return 404;
    }
}

最后重启下Nginx
systemctl restart nginx.service
您需要登录后才可以回帖 登录 | 注册

本版积分规则