Ubuntu Server 11 安装 Nginx+PHP5.3+MySQL

Ubuntu Server 11 安装 Nginx+PHP5.3+MySQL

TONYLABS 02 Feb, 2014

通过 apt-get 安装 Nginx

更新 Ubuntu 上面的 apt 源 sudo nano /etc/apt/sources.list 添加:deb http://nginx.org/packages/ubuntu/ lucid nginx 添加:deb-src http://nginx.org/packages/ubuntu/ lucid nginx sudo wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key sudo aptitude update 执行一下 apt-get update  更新一下tree  

Step 1.1 - 安装 Nginx

sudo apt-get install nginx 通过 apt-get 安装成功之后,默认网站目录为 /usr/share/nginx/www 默认 Nginx 配置文件路径为 /etc/nginx/nginx.conf sudo nginx -v //@查看当前Nginx版本  

Step 2 -安装 PHP 及附属模块

sudo apt-get install php5-common php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql php5-gd php5-memcache php5-xcache  

Step 2.1 - 手动编译PHP (apt-get  安装可跳过)

sudo apt-get install autoconf2.13 libssl-dev libcurl4-gnutls-dev libjpeg62-dev libpng12-dev libmcrypt-dev libmysql++-dev libfreetype6-dev libt1-dev libc-client-dev libbz2-dev mysql-client libevent-dev libxml2-dev ./configure --enable-fpm --enable-soap --with-mcrypt --enable-mbstring --with-openssl --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-gd --with-jpeg-dir=/usr/lib --enable-gd-native-ttf --with-pdo-mysql --with-libxml-dir=/usr/lib --with-mysqli=/usr/bin/mysql_config --with-curl --enable-zip --with-bz2 --with-imap=shared --with-imap-ssl --enable-sockets --with-zlib --enable-exif --enable-ftp --with-iconv --with-gettext --enable-gd-native-ttf --with-t1lib=/usr --with-freetype-dir=/usr --with-kerberos --prefix=/usr/local/php --with-fpm-user=www --with-fpm-group=www sudo make && make install  

Step 3 - 安装 MySQL Server 5.5

apt-get install mysql-server mysql-client  

Step 4 - 配置 Nginx 虚拟主机

创建网站目录 mkdir -p /var/www location / { root /var/www; index index.html index.htm index.php; } location ~ \.php$ { root /var/www; fastcgi_pass; fastcgi_index index.php; set $real_script_name $fastcgi_script_name; set $path_info ""; if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)") { set $real_script_name $1; set $path_info $2; } fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; include /etc/nginx/fastcgi_params; #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_intercept_errors on; #fastcgi_ignore_client_abort off; #fastcgi_connect_timeout 36000; #fastcgi_send_timeout 36000; #fastcgi_read_timeout 36000; #fastcgi_buffer_size 128k; #fastcgi_buffers 4 256k; #fastcgi_busy_buffers_size 256k; #fastcgi_temp_file_write_size 256k; }   Step 5 - 配置 1. 配置 php-fpm sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 修改php-fpm.conf, 默认的配置路径前缀为 /usr/local/php/var [global] pid = run/php-fpm.pid error_log = log/php-fpm.log log_level = notice [www] listen = user = www group = www pm = dynamic //@pm=process manager pm.max_children = 2000 //@This value sets the limit on the number of simultaneous requests that will be served. pm.start_servers = 20 //@The number of child processes created on startup pm.min_spare_servers = 5 //@The desired minimum number of idle server processes. pm.max_spare_servers = 35 //@The desired maximum number of idle server processes.   配置开机启动 php-fpm cp /usr/local/src/php-5.4.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm //@php-5.4.0 需替换为当前使用的php版本 sudo chmod 755 /etc/init.d/php-fpm //@修改权限 update-rc.d php-fpm defaults sudo /usr/local/php/sbin/php-fpm //@启动php-fpm   2. 配置 Nginx 虚拟主机 sudo nano /etc/nginx/nginx.conf //@可修改 www 用户名称 sudo nano /etc/nginx/sites-available server { location / { root /usr/share/nginx/www; index index.html index.htm index.php; } location ~ \.php$ { root /usr/share/nginx/www; fastcgi_pass; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcgi_params; } }

修改 php.ini

首先拷贝 sudo cp /usr/local/src/php-5.3.10/php.ini-production /usr/local/php/lib/php.ini sudo nano /usr/local/php/lib/php.ini 重启php-fpm使php.ini生效 sudo /etc/init.d/php-fpm restart

3. php-fpm管理

kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid` //终止 /usr/local/php5/sbin/php-fpm //启动 kill -SIGUSR2 `cat /usr/local/php/var/run/php-fpm.pid` //重启 kill -SIGUSR1 `cat /usr/local/php/var/run/php-fpm.pid` //日志

4. Nginx管理

/usr/sbin/nginx -V //@查看编译配置选项 /usr/sbin/nginx //@启动 /usr/sbin/nginx -s reload //@平滑重启 /usr/sbin/nginx -t  //@测试

Like what you're reading? Subscribe to our top stories.

We will continue to update Front; if you have any questions or suggestions, please contact us!

Follow us on Medium, Twitter, Facebook, YouTube, and Dribbble.

Image Description
Written by

Hanna Wolfe

I create advanced website builders made exclusively for web developers.


  • Image Description
    Dave Austin 1 day ago

    As a Special Education teacher this resonates so well with me. Fighting with gen ed teachers to flatten for the students with learning disabilities. It also confirms some things for me in my writing.

    • Image Description
      Hanna Wolfe 1 day ago

      Love it Dave! We're all about keeping it up.

  • Image Description
    Christina Kray 2 days ago

    Since our attention spans seem to be shrinking by the day — keeping it simple is more important than ever.


Post a comment

Stay in the know

Get special offers on the latest developments from Front.