安装lnmp nginx php mysql环境 -magento

来源:互联网 发布:新浪微博个性域名删除 编辑:程序博客网 时间:2024/05/18 01:35


1.首先更新环境

yum update

2.安装

yum  install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel libtool* zlib-devel libxml2-devel libjpeg-devel libpng-devel libtiff-devel fontconfig-devel freetype-devel libXpm-devel gettext-devel curl curl-devel pam-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers gzip  make bzip2bzip2-devel pcre-devel wget ncurses-devel cmake make perl


3.安装mysql

sudo yum install mysql mysql-serversudo /etc/init.d/mysqld restart


配置mysql:

sudo /usr/bin/mysql_secure_installation


会出现:

Enter current password for root (enter for none): OK, successfully used password, moving on...


因为没有密码,所有直接按回车

下面的设置基本都是y

4

安装nginx

我的是CentOS 6,先执行:

rpm-ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm如果是CentOS 5,就用下面的源:rpm-ivh http://nginx.org/packages/centos/5/noarch/RPMS/nginx-release-centos-5-0.el5.ngx.noarch.rpm如果是Red Hat Enterprise Linux 6:rpm -ivhhttp://nginx.org/packages/rhel/6/noarch/RPMS/nginx-release-rhel-6-0.el6.ngx.noarch.rpm如果是Red Hat Enterprise Linux 5:rpm -ivhhttp://nginx.org/packages/rhel/5/noarch/RPMS/nginx-release-rhel-5-0.el5.ngx.noarch.rpm


yum install nginxservice nginx start

查看内网ip地址命令:

ifconfig eth0 | grep inet | awk '{ print $2 }'


5

安装php

sudo yum install php-fpm php-mysql

配置php:

sudo vi /etc/php.ini设置:cgi.fix_pathinfo=0


设置的原因为:If this number is kept as a 1, the php interpreter will do its best to process the file that is as near to the requested file as possible. This is a possible security risk. If this number is set to 0, conversely, the interpreter will only process the exact file path—a much safer alternative. Save and Exit.

6

配置nginx

sudo vi /etc/nginx/nginx.conf

打开后会发现:包含文件:/etc/nginx/conf.d/default.conf

然后:

sudo vi /etc/nginx/conf.d/default.conf


复制下面到文件:

server {    listen       80;    server_name example.com;       location / {        root   /usr/share/nginx/html;        index index.php  index.html index.htm;    }    error_page  404              /404.html;    location = /404.html {        root   /usr/share/nginx/html;    }    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   /usr/share/nginx/html;    }    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000    #    location ~ \.php$ {        root           /usr/share/nginx/html;        fastcgi_pass   127.0.0.1:9000;        fastcgi_index  index.php;        fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;        include        fastcgi_params;    }}

把上面的:example.com换成IP或者网址,在目录/usr/share/nginx/html下增加index.php文件,里面添加内容,可以填写phpinfo查看参数

7

sudo vi /etc/php-fpm.d/www.conf


[...]; Unix user/group of processes; Note: The user is mandatory. If the group is not set, the default user's group;will be used.; RPM: apache Choosed to be able to access some dir as httpduser = nginx; RPM: Keep a group allowed to write in log dir.group = nginx[...]

把上面出现的apache换成nginx

重启php-fpmsudo service php-fpm restart然后重启nginxsudo service nginx restart


8

设置开机启动:

sudo chkconfig --levels 235 mysqld onsudo chkconfig --levels 235 nginx onsudo chkconfig --levels 235 php-fpm on

9

检测环境会发现:

You are missing the dom extension
You are missing the gd extension
You are missing the mcrypt extension

1
安装dom

sudo yum install php-xmlservice php-fpm restart

2
安装gd
yum install php-gd
3
安装mcrypt
i386rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpmx86_64rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmyum install php-mcrypt


10

修改配置文件:

1./etc/nginx/conf.d/default.conf1.1修改server_name 121.199.39.177  //ip1.2access_log /www/web_logs/access.log wwwlogs;    error_log  /www/web_logs/error.log  notice;新建对应的文件,设置文件可写1.3把文件覆盖到/etc/nginx

打包下载地址:

http://download.csdn.net/download/terry_water/6966473

/etc/nginx/fcgi.conf

# nginx conf conf/fcgi.conf# Created by http://www.wdlinux.cn# Last Updated 2010.06.01if ($request_filename ~* (.*)\.php) {    set $php_url $1;}if (!-e $php_url.php) {    #return 403;}fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;fastcgi_param  SERVER_SOFTWARE    nginx;fastcgi_param  QUERY_STRING       $query_string;fastcgi_param  REQUEST_METHOD     $request_method;fastcgi_param  CONTENT_TYPE       $content_type;fastcgi_param  CONTENT_LENGTH     $content_length;fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;fastcgi_param  REQUEST_URI        $request_uri;fastcgi_param  DOCUMENT_URI       $document_uri;fastcgi_param  DOCUMENT_ROOT      $document_root;fastcgi_param  SERVER_PROTOCOL    $server_protocol;fastcgi_param  REMOTE_ADDR        $remote_addr;fastcgi_param  REMOTE_PORT        $remote_port;fastcgi_param  SERVER_ADDR        $server_addr;fastcgi_param  SERVER_PORT        $server_port;fastcgi_param  SERVER_NAME        $server_name;# PHP only, required if PHP was built with --enable-force-cgi-redirectfastcgi_param  REDIRECT_STATUS    200;

/etc/nginx/conf.d/default.conf

server {    listen       80;    server_name 121.199.39.177;root   /usr/share/nginx/html;    server_tokens off;include none.conf;index index.php index.html index.htm;access_log /www/web_logs/access.log wwwlogs;error_log  /www/web_logs/error.log  notice;location ~ \.php$ {fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;include fcgi.conf;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {expires      30d;}location ~ .*\.(js|css)?$ {expires      12h;}}


/etc/nginx/nginx.conf

user  nginx nginx;worker_processes  1;error_log  /var/log/nginx/error.log warn;pid        /var/run/nginx.pid;worker_rlimit_nofile 5120;events {    use epoll;    worker_connections  5120;}http {    include       /etc/nginx/mime.types;    default_type  application/octet-stream;    server_names_hash_bucket_size 128;    client_header_buffer_size 32k;    large_client_header_buffers 4 32k;    client_max_body_size 8m;#    limit_conn_zone $binary_remote_addr zone=one:32k;    sendfile        on;    tcp_nopush     on;    keepalive_timeout  60;    tcp_nodelay on;       fastcgi_buffers 8 128k;    fastcgi_connect_timeout 9900s;    fastcgi_send_timeout 9900s;    fastcgi_read_timeout 9900s;    gzip  on;    gzip_min_length  1k;    gzip_buffers     4 16k;    gzip_http_version 1.0;    gzip_comp_level 2;    gzip_types       text/plain application/x-javascript text/css application/xml;    gzip_vary on;    log_format  wwwlogs  '$remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for';        include /etc/nginx/conf.d/*.conf;}


/etc/nginx/none.conf

location / {        index index.html index.php; ## Allow a static html file to be shown first        try_files $uri $uri/ @handler; ## If missing pass the URI to Magento's front handler        expires 30d; ## Assume all files are cachable    }    ## These locations would be hidden by .htaccess normally    location /app/                { deny all; }    location /includes/           { deny all; }    location /lib/                { deny all; }    location /media/downloadable/ { deny all; }    location /pkginfo/            { deny all; }    location /report/config.xml   { deny all; }    location /var/                { deny all; }    location /var/email/ {allow all;}    location /var/export/ { ## Allow admins only to view export folder        auth_basic           "Restricted"; ## Message shown in login window        auth_basic_user_file htpasswd; ## See /etc/nginx/htpassword        autoindex            on;    }      location  /. { ## Disable .htaccess and other hidden files        return 404;    }    location @handler { ## Magento uses a common front handler        rewrite / /index.php;    }    location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler        rewrite ^(.*.php)/ $1 last;    }


















0 0
原创粉丝点击