环境介绍:
Qingcloud1核1G主机实例 OS:Ubuntu 14.04 X64 Nginx 1.8.0 PHP MySQL
add-apt-repository ppa:nginx/stable apt-get update apt-get install nginx
Nginx就安装好了,浏览器输入主机地址,就可以看到Nginx的欢迎界面了。
Nginx就安装好了,浏览器输入主机地址,就可以看到Nginx的欢迎界面了。
worker_processes设置为服务器的CPU核数
在event里增加 use epoll;
worker_connections的值按照前辈的指点,1G内存的话设置不超过100000即可。
然后执行命令 sudo nginx -s reload
参数生效
sudo apt-get install mysql-server
安装php的MySQL驱动
sudo apt-get install php5-mysql
sudo apt-get install php5-fpm sudo apt-get install php5
有个奇怪的地方,如果按网上一些教程,先安装php,再安装php5-fpm的话,会被装上apache,而直接装
php5-fpm的话,php就自动装好了,也不会装上apache。
关于php5-fpm请看这里:http://segmentfault.com/q/1010000000256516
然后需要做一些配置:
vi /etc/php5/fpm/php.ini`将cgi.fix_pathinfo=1这一行去掉注释,将1改为0.
“值为1时,php的解释器会尽可能的去解析客户端请求的文件各种类型,这会引发一些安全漏洞,设置为0时,解释器只会去解析特定的文件类型,设置为0是一种相对安全的处理策略。”—引用自MacTalk《趣谈个人建站》
修改www.conf
vi /etc/php5/fpm/pool.d/www.conf`把 *listen = 127.0.0.1:9000* 修改为 *listen = /var/run/php5-fpm.sock*这涉及到不同的协议,前者是TCP,后者是 UNIX,如果一台机器的话,后者效率更高。
然后重启PHP
sudo service php5-fpm restart
再安装一些安装库,方便后期安装应用的时候出现依赖问题
apt-get install php5 php5-cgi php5-curl php5-dev php5-gd php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-imagick php5-imap php5-intl php5-mcrypt php5-memcache php5-memcached php5-ming php5-ps php-pear php-apc
安装zendopcache提高性能
wget http://pecl.php.net/get/zendopcache-7.0.5.tgztar xzf zendopcache-7.0.5.tgz cd zendopcache-7.0.5phpize ./configuer make make install
创建虚拟主机目录
sudo mkdir -p /var/www/a.com/html/sudo mkdir -p /var/www/a.com/logs/sudo mkdir -p /var/www/b.com/html/sudo mkdir -p /var/www/b.com/logs/... sudo chown -R www-data:www-data /var/www/a.com sudo chown -R www-data:www-data /var/www/b.com sudo chmod -R 755 /var/www
在/etc/nginx/sites-available下创建站点配置文件a,可以根据建立站点
的不同创建相关配置文件,内容如下:
server { listen 80 default_server; #其他站点的话不需要添加default_server listen [::]:80 default_server ipv6only=on; #b.com的配置文件为:listen 80; # listen [::]:80; root /var/www/a.com/html; index index.php index.html index.htm; #添加index.php支持php server_name a.com; access_log /var/www/a.com/logs/access.log; #日志目录,也可以指定其他目录 error_log /var/www/a.com/logs/error.log; location / { try_files $uri $uri/ =404; } location ~ \.php$ { default_type text/html; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/a.com/html$fastcgi_script_name; include fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 16k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_read_timeout 240; } }
配置文件创建好后,可以删除配置文件目录的default文件,再创建配置文件的链接:
ln -s /etc/nginx/sites-available/a /etc/nginx/sites-enable/a ln -s /etc/nginx/sites-available/b /etc/nginx/sites-enable/b ...
需要调整一下ngixn.conf配置文件,找到下面这一行,并且去掉注释;
server_names_hash_bucket_size 64;
修改hosts文件,vi /etc/hosts
127.0.0.1 localhost 111.111.111.111 a.com 111.111.111.111 b.com
可以在站点根目录下新建一个index.php文件,内容如下:
<?phpphpinfo();?>
不出意外的话,打开浏览器输入主机地址就可以看到这个页面了。
有的时候,这些都弄好以后,启动nginx和php后,浏览器空白,也没用404,解决方式:
确认 /etc/nginx/fastcgi_params 文件中是否有下面两行,没有的话在文件后面添加
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_script_name;
note:在将程序拷贝至网站根目录的时候,再执行 sudo chown -R www-data:www-data /var/www/x.com
,以应对程序更新或安装过程中的权限问题。
原文链接:http://www.zhouyalin.com/2015/10/13/lnmp/
配置文件创建好后,可以删除配置文件目录的default文件,再创建配置文件的链接:
ln -s /etc/nginx/sites-available/a /etc/nginx/sites-enable/a ln -s /etc/nginx/sites-available/b /etc/nginx/sites-enable/b ...
需要调整一下ngixn.conf配置文件,找到下面这一行,并且去掉注释;
server_names_hash_bucket_size 64;
修改hosts文件,vi /etc/hosts
127.0.0.1 localhost 111.111.111.111 a.com 111.111.111.111 b.com
可以在站点根目录下新建一个index.php文件,内容如下:
<?phpphpinfo();?>
不出意外的话,打开浏览器输入主机地址就可以看到这个页面了。