适用于ubuntu14.04和源是14.04的ubuntu上安装nginx(我学在线Moodle工作室---注这里安装的是最新版的nginx,并且解决pathinfo问题,特别适用于Moodle安装)
nginx相对于apache来说,在高并发访问上有不可忽略的极大的优势,特别是在服务器配置相对较低的情况下。
1安装准备:
(1)如果是ubuntu12.04或者是12.10,需要先换源,换成14.04的源,源链接http://pan.baidu.com/s/1dDkzjiD 将源下载下来,替换掉当前的源,ubuntu的源路径是/etc/apt/sources.list(注:阿里云不需要换源)
ubuntu14.04的源
# # deb cdrom:[Ubuntu-Server 14.04.1 LTS _Trusty Tahr_ - Release amd64 (20140722.3)]/ trusty main restricted#deb cdrom:[Ubuntu-Server 14.04.1 LTS _Trusty Tahr_ - Release amd64 (20140722.3)]/ trusty main restricted# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to# newer versions of the distribution.deb http://hk.archive.ubuntu.com/ubuntu/ trusty main restricteddeb-src http://hk.archive.ubuntu.com/ubuntu/ trusty main restricted## Major bug fix updates produced after the final release of the## distribution.deb http://hk.archive.ubuntu.com/ubuntu/ trusty-updates main restricteddeb-src http://hk.archive.ubuntu.com/ubuntu/ trusty-updates main restricted## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu## team. Also, please note that software in universe WILL NOT receive any## review or updates from the Ubuntu security team.deb http://hk.archive.ubuntu.com/ubuntu/ trusty universedeb-src http://hk.archive.ubuntu.com/ubuntu/ trusty universedeb http://hk.archive.ubuntu.com/ubuntu/ trusty-updates universedeb-src http://hk.archive.ubuntu.com/ubuntu/ trusty-updates universe## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu## security team.deb http://hk.archive.ubuntu.com/ubuntu/ trusty multiversedeb-src http://hk.archive.ubuntu.com/ubuntu/ trusty multiversedeb http://hk.archive.ubuntu.com/ubuntu/ trusty-updates multiversedeb-src http://hk.archive.ubuntu.com/ubuntu/ trusty-updates multiverse## N.B. software from this repository may not have been tested as## extensively as that contained in the main release, although it includes## newer versions of some applications which may provide useful features.## Also, please note that software in backports WILL NOT receive any review## or updates from the Ubuntu security team.deb http://hk.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiversedeb-src http://hk.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiversedeb http://security.ubuntu.com/ubuntu trusty-security main restricteddeb-src http://security.ubuntu.com/ubuntu trusty-security main restricteddeb http://security.ubuntu.com/ubuntu trusty-security universedeb-src http://security.ubuntu.com/ubuntu trusty-security universedeb http://security.ubuntu.com/ubuntu trusty-security multiversedeb-src http://security.ubuntu.com/ubuntu trusty-security multiverse## Uncomment the following two lines to add software from Canonical's## 'partner' repository.## This software is not part of Ubuntu, but is offered by Canonical and the## respective vendors as a service to Ubuntu users.# deb http://archive.canonical.com/ubuntu trusty partner# deb-src http://archive.canonical.com/ubuntu trusty partner## Uncomment the following two lines to add software from Ubuntu's## 'extras' repository.## This software is not part of Ubuntu, but is offered by third-party## developers who want to ship their latest software.# deb http://extras.ubuntu.com/ubuntu trusty main# deb-src http://extras.ubuntu.com/ubuntu trusty main
(2)更新升级
sudo apt-get updatesudo apt-get upgrade
2.安装lamp
使用tasksel 命令选中 lamp 安装
3.停止apache服务
sudo /etc/init.d/apache2 stop
4.安装nginx并配置nginx
sudo apt-get install nginx
配置nginx
sudo vi /etc/nginx/sites-available/default
将内容参照如下进行修改
# http://wiki.nginx.org/Pitfalls# http://wiki.nginx.org/QuickStart# http://wiki.nginx.org/Configuration## Generally, you will want to move this file somewhere, and start with a clean# file but keep this around for reference. Or just disable in sites-enabled.## Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.##server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /var/www/html; index index.php index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. #try_files $uri $uri/ =404; try_files $uri $uri/index.php; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules } # location ~ \.php$ { location ~ \.php{ fastcgi_split_path_info ^(.+\.php)(/.+)$; # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME /path/to/php$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests #location /RequestDenied { # proxy_pass http://127.0.0.1:8080; #} #error_page 404 /404.html; # redirect server error pages to the static page /50x.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$ { # fastcgi_split_path_info ^(.+\.php)(/.+)$; # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php5-fpm: # fastcgi_pass unix:/var/run/php5-fpm.sock; # fastcgi_index index.php; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #}}# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# root html;# index index.html index.htm;## location / {# try_files $uri $uri/ =404;# }#}# HTTPS server##server {# listen 443;# server_name localhost;## root html;# index index.html index.htm;## ssl on;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;## ssl_session_timeout 5m;## ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;# ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";# ssl_prefer_server_ciphers on;## location / {# try_files $uri $uri/ =404;# }#}
5.安装 php5-fpm
sudo apt-get install php5-fpm
6.重启fpm和nginx
sudo service nginx restartsudo service php5-fpm restart
至此,大功告成
我学在线Moodle工作室
2015-04-02