zoukankan      html  css  js  c++  java
  • CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)

    准备篇

    1、配置防火墙,开启80端口、3306端口

    vi /etc/sysconfig/iptables
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口通过防火墙

    备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,

    正确的应该是添加到默认的22端口这条规则的下面

    如下所示:
    ################################ 添加好之后防火墙规则如下所示################################
    # Firewall configuration written by system-config-firewall
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    #######################################################################################
    /etc/init.d/iptables restart #最后重启防火墙使配置生效

    2、关闭SELINUX 

    vi /etc/selinux/config
    #SELINUX=enforcing #注释掉
    #SELINUXTYPE=targeted #注释掉
    SELINUX=disabled #增加
    :wq #保存退出
    shutdown -r now #重启系统

    3、安装第三方yum源

    yum install wget #安装下载工具

    wget http://www.atomicorp.com/installers/atomic #下载

    sh ./atomic #安装

    yum check-update #更新yum源

    安装篇

    一、安装nginx

    yum remove httpd* php* #删除系统自带的软件包

    yum install nginx #安装nginx 根据提示输入y进行安装

    chkconfig nginx on #设置nginx开机启动

    service nginx start #启动nginx

    二、安装MySQL

    1、安装MySQL

    yum install mysql mysql-server #输入Y即可自动安装,直到安装完成

    /etc/init.d/mysqld start #启动MySQL

    chkconfig mysqld on #设为开机启动

    cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)

    2、为root账户设置密码

    mysql_secure_installation

    #回车,根据提示输入Y,输入2次密码,回车,根据提示一路输入Y,最后出现:Thanks for using MySQL!

    MySql密码设置完成,重新启动 MySQL:

    /etc/init.d/mysqld restart #重启

    /etc/init.d/mysqld stop #停止

    /etc/init.d/mysqld start #启动

    三、安装PHP5

    1、安装PHP5

    yum install php php-fpm #根据提示输入Y直到安装完成

    2、安装PHP组件,使 PHP5 支持 MySQL

    yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt

    #这里选择以上安装包进行安装,根据提示输入Y回车

    chkconfig php-fpm on #设置php-fpm开机启动

    /etc/init.d/php-fpm start #启动php-fpm

    配置篇

    一、配置nginx支持php

    cp /etc/nginx/nginx.conf /etc/nginx/nginx.confbak#备份原有配置文件
    vi /etc/nginx/nginx.conf #编辑
    user nginx nginx; #修改nginx运行账号为:nginx组的nginx用户
    :wq #保存退出
    cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak #备份原有配置文件
    vi /etc/nginx/conf.d/default.conf #编辑

    index index.php index.html index.htm; #增加index.php

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ .php$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    #取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
    service nginx restart #重启nginx

    修改后的nginx.conf配置文件:

    [root@lnmp ~]# cat /etc/nginx/nginx.conf
    # For more information on configuration, see:
    # * Official English Documentation: http://nginx.org/en/docs/
    # * Official Russian Documentation: http://nginx.org/ru/docs/

    user nginx nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /var/run/nginx.pid;

    # Load dynamic modules. See /usr/share/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;

    events {
    worker_connections 1024;
    }

    http {
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    }

    二、php配置(关于php-fpm.conf暂时可以使用默认配置,以后再优化)

    vi /etc/php.ini #编辑
    date.timezone = PRC #在946行 把前面的分号去掉,改为date.timezone = PRC
    disable_functions =

    passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,ope

    nlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdns

    rr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,

    posix_getegid,posix_geteuid,posix_getgid,

    posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,

    posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty,

    posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,

    posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
    #在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
    expose_php = Off #在432行 禁止显示php版本的信息
    magic_quotes_gpc = On #在745行 打开magic_quotes_gpc来防止SQL注入
    short_open_tag = ON #在229行支持php短标签
    open_basedir = .:/tmp/ #在380行 设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题(例如:织梦内容管理系统),可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/
    :wq! #保存退出

    三、配置php-fpm(yum安装默认用户和组为Apache)

    cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.confbak #备份原有配置文件
    vi /etc/php-fpm.d/www.conf #编辑
    user = nginx #修改用户为nginx
    group = nginx #修改组为nginx
    :wq #保存退出

    测试篇

    cd /usr/share/nginx/html

    vi index.php #添加以下代码
    <?php
    phpinfo();
    ?>

    :wq! #保存退出

    chown nginx.nginx /usr/share/nginx/html -R #设置权限

    service nginx restart #重启nginx

    service php-fpm restart #重启php-fpm

    在客户端浏览器输入服务器IP地址,可以看到相关的配置信息!

    说明lnmp配置成功!

    至此,CnetOS 6.4安装配置LNMP(Nginx+PHP+MySQL)教程完成。

  • 相关阅读:
    BZOJ1527 : [POI2005]Pun-point
    2016-2017 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2016)
    2016-2017 ACM-ICPC Northwestern European Regional Programming Contest (NWERC 2016)
    NAIPC-2016
    BZOJ2498 : Xavier is Learning to Count
    ACM ICPC Vietnam National Second Round
    XVI Open Cup named after E.V. Pankratiev. GP of Ukraine
    XVI Open Cup named after E.V. Pankratiev. GP of Peterhof
    HDU5509 : Pattern String
    BZOJ4583 : 购物
  • 原文地址:https://www.cnblogs.com/yihr/p/9674052.html
Copyright © 2011-2022 走看看