YY-LIN 发表于 2015-11-16 09:15:53

安装lnmp nginx php mysql环境 -magento

  


  1.首先更新环境
  yum update
  2.安装


  

yuminstall 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 gzipmake bzip2bzip2-devel pcre-devel wget ncurses-devel cmake make perl


  
  3.安装mysql

sudo yum install mysql mysql-server
sudo /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 nginx
service 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.phpindex.html index.htm;
}
error_page404            /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_indexindex.php;
fastcgi_paramSCRIPT_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 httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
[...]

把上面出现的apache换成nginx  

重启php-fpm
sudo service php-fpm restart
然后重启nginx
sudo service nginx restart


  8
  设置开机启动:
  

sudo chkconfig --levels 235 mysqld on
sudo chkconfig --levels 235 nginx on
sudo 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-xml
service php-fpm restart

2

安装gd

yum install php-gd3

安装mcrypt

i386
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
x86_64
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install php-mcrypt


  10
  修改配置文件:
  

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

打包下载地址:  
  http://download.iyunv.com/download/terry_water/6966473
  /etc/nginx/fcgi.conf
  

# nginx conf conf/fcgi.conf
# Created by http://www.wdlinux.cn
# Last Updated 2010.06.01
if ($request_filename ~* (.*)\.php) {
set $php_url $1;
}
if (!-e $php_url.php) {
#return 403;
}
fastcgi_paramGATEWAY_INTERFACECGI/1.1;
fastcgi_paramSERVER_SOFTWARE    nginx;
fastcgi_paramQUERY_STRING       $query_string;
fastcgi_paramREQUEST_METHOD   $request_method;
fastcgi_paramCONTENT_TYPE       $content_type;
fastcgi_paramCONTENT_LENGTH   $content_length;
fastcgi_paramSCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_paramSCRIPT_NAME      $fastcgi_script_name;
fastcgi_paramREQUEST_URI      $request_uri;
fastcgi_paramDOCUMENT_URI       $document_uri;
fastcgi_paramDOCUMENT_ROOT      $document_root;
fastcgi_paramSERVER_PROTOCOL    $server_protocol;
fastcgi_paramREMOTE_ADDR      $remote_addr;
fastcgi_paramREMOTE_PORT      $remote_port;
fastcgi_paramSERVER_ADDR      $server_addr;
fastcgi_paramSERVER_PORT      $server_port;
fastcgi_paramSERVER_NAME      $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_paramREDIRECT_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.lognotice;
location ~ \.php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_indexindex.php;
include fcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires      30d;
}
location ~ .*\.(js|css)?$ {
expires      12h;
}
}


  
  /etc/nginx/nginx.conf
  

usernginx nginx;
worker_processes1;
error_log/var/log/nginx/error.log warn;
pid      /var/run/nginx.pid;
worker_rlimit_nofile 5120;
events {
use epoll;
worker_connections5120;
}

http {
include       /etc/nginx/mime.types;
default_typeapplication/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_timeout60;
tcp_nodelay on;
fastcgi_buffers 8 128k;
fastcgi_connect_timeout 9900s;
fastcgi_send_timeout 9900s;
fastcgi_read_timeout 9900s;
gzipon;
gzip_min_length1k;
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_formatwwwlogs'$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;
}



  
  
  


  


  


  


  


  


  


  


  


  


  


  


  


  


  


  



版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: 安装lnmp nginx php mysql环境 -magento