• CentOS7安装配置LEMP(Nginx/PHP-FPM 5.6/MySQL 5.5)
  • 通常大型的网站建站环境都会采用Nginx系统环境架构,相对而言比Apache承受承载的线程和压力更大,不过对于一般的博客、网站来说,Apache环境也足够使用。
    在这里整理一篇基于最新的CentOS7系统,搭建和应用Nginx/PHP-FPM 5.6/MySQL 5.5适用的网站环境,如果你也喜欢折腾,可以尝试下面的内容,文章是从海外翻译过来的,且进行过测试是完整的。
    第一、安装EPEL和REMI库文件
    rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    第二、安装Nginx
    yum install nginx -y
    启动和设置开机启动
    systemctl start nginx
    systemctl enable nginx
    设置防火墙开启80端口
    firewall-cmd --zone=public --add-port=80/tcp --permanent$ sudo firewall-cmd --reload
    这里我们已经安装完毕NGINX,我们可以打开IP地址浏览器中,可以看到成功的NGINX安装界面提示。
    第三、安装MariaDB 5.5
    yum --enablerepo=remi,remi-php56 install mariadb-server mariadb -y
    启动和设置开机启动
    systemctl start mariadb
    systemctl enable mariadb
    设置数据库的安全
    /usr/bin/mysql_secure_installation
    执行上面脚本,根据提示我们需要设置一遍数据库的安全,删除匿名用户等。
    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
    SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
    In order to log into MariaDB to secure it, we'll need the current
    password for the root user. If you've just installed MariaDB, and
    you haven't set the root password yet, the password will be blank,
    so you should just press enter here.
    Enter current password for root (enter for none):
    OK, successfully used password, moving on...
    Setting the root password ensures that nobody can log into the MariaDB
    root user without the proper authorisation.
    Set root password? [Y/n] y
    New password:
    Re-enter new password:
    Password updated successfully!
    Reloading privilege tables..
    ... Success!
    By default, a MariaDB installation has an anonymous user, allowing anyone
    to log into MariaDB without having to have a user account created for
    them. This is intended only for testing, and to make the installation
    go a bit smoother. You should remove them before moving into a
    production environment.
    Remove anonymous users? [Y/n] y
    ... Success!
    Normally, root should only be allowed to connect from 'localhost'. This
    ensures that someone cannot guess at the root password from the network.
    Disallow root login remotely? [Y/n] y
    ... Success!
    By default, MariaDB comes with a database named 'test' that anyone can
    access. This is also intended only for testing, and should be removed
    before moving into a production environment.
    Remove test database and access to it? [Y/n] y
    - Dropping test database...
    ... Success!
    - Removing privileges on test database...
    ... Success!
    Reloading the privilege tables will ensure that all changes made so far
    will take effect immediately.
    Reload privilege tables now? [Y/n] y
    ... Success!
    Cleaning up...
    All done! If you've completed all of the above steps, your MariaDB
    installation should now be secure.
    Thanks for using MariaDB!
    第四、安装PHP-fpm 5.6
    yum --enablerepo=remi,remi-php56 install php-fpm php-common php-mysql php-opcache php-pear php-gd php-devel php-mbstring php-mcrypt php-cli php-pdo php-xml -y
    启动和开机启动
    service php-fpm start
    chkconfig php-fpm on
    第五、配置Nginx
    到这里我们已经安装完毕nginx, mariadb, 以及php-fpm,我们需要对Nginx进行配置
    A - 配置/etc/nginx/nginx.conf文件
    user nginx;
    worker_processes 1;
    worker_processes表示当前VPS/服务器的CPU核心数,我们可以通过grep ^processor /proc/cpuinfo | wc -l检测和修改。
    B - 检查启动sendfile, tcp_nopush, gzip,以及添加INDEX.PHP文件
    sendfile on;
    tcp_nopush on;
    #keepalive_timeout 0;
    keepalive_timeout 65;
    gzip on;
    index index.php index.html index.htm;
    第六、添加站点和设置文件
    vi /etc/nginx/conf.d/laozuo_org.conf
    添加站点的时候,我们最好以域名来定,这样好检查和记忆。
    server {
    listen your_public_ip_address:80;
    server_name www.myhack58.com;
    root /var/www/www.myhack58.com;
    index index.php index.html index.htm;
    charset utf-8;
    location / {
    }
    location = /robots.txt { allow all; access_log off; log_not_found off; }
    location = /favicon.ico { allow all; access_log off; log_not_found off; }
    error_page 401 /401.html;
    error_page 403 /403.html;
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location ~ \.php$ {
    root /var/www/www.myhack58.com;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_intercept_errors on;
    fastcgi_buffer_size 4K;
    fastcgi_buffers 128 4k;
    fastcgi_connect_timeout 50;
    fastcgi_send_timeout 40;
    fastcgi_read_timeout 40;
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    include fastcgi_params;
    }
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    # location ~ /\.ht {
    # deny all;
    # }
    }
    输入对应的配置文件。
    如果没有/var/www/www.myhack58.com文件夹,我们需要给予设置添加和配置权限。
    mkdir /var/www/www.myhack58.com
    chmod 777 /var/www/www.myhack58.com
    最后,我们启动Nginx
    systemctl restart nginx
    如果无法启动,可以用"systemctl status nginx.service"检查到底是哪里的问题然后相应修改。
    总结,这样我们可以在已经创建的文件夹中上传程序。
    如果需要有MYSQL等数据库的,我们单独再安装


    上一篇Ubuntu v14 安装及配置Redmine3.0

    下一篇Debian/Ubuntu系统中安装和配置UFW防火墙

    2016 迅捷格言:事在人为 莫道万般皆无奈;境由心造 后退一步万事宽! 有事您说话,小捷很乐意帮助您!