精选文章

Android下使用TCPDUMP抓包Wireshark分析数据 如果想分析Android下某个APP的网络数据交互,需要在Android手机上抓包,最常用的抓包工具非tcpdump莫属,用tcpdump生成Wireshark识别的pcap文件,然后将pcap文件下载到电脑上,用电脑上的Wireshark加载pcap文件,通过Wireshark分析tcpdump抓取的数据。...

继续阅读

Mac下部署Android开发环境附加NDK 作为开发者,我们深有体会,不管是进行什么开发,为了部署开发环境,我们往往需要折腾很长时间、查阅很多资料才能完成,而且这次折腾完了,下次到了另一台新电脑上又得重新来过,整个部署过程记得还好,要是不记得又得重新开始,而且遇到Android这种GFW阻隔了开发资源下载链接的环境部署,又尤其浪费时间。所以这也是我写下这篇教程的初衷跟动力源泉,希望大家参考了这篇教程以后可以轻轻松松在Mac系统下将Android环境部署好。...

继续阅读

稍顯嚴肅的台中 坦白說,留在腦海中的台中影像並不多,來台灣之前在Booking上只訂到了台中的一家青旅,第一次住青旅有些不習慣,幹什麼都放不開。 同屋的一個男生是台灣人,不過一年中四分之三的時間在上海跟北京,這麼說來跟我還是比較有共同話題的。得之我準備花15天的時間環島,覺得太倉促了,他們大學時期花一個半月的時間也不見得能將台灣島給逛完。我只能無奈地表示,兩岸允許的簽證時間有限,自己的空閒時間更有限,只能用打卡式的旅行了,我深知正真地旅行應該慢下來,融入當地的環境,感受他們的風土人情,但第一次只能這樣作罷,以後換成民進黨上台,形勢會變成怎樣還不得而知,能否再過來還是個未知數。而我一向信奉的人生格言是秉燭夜遊,活在當下,所以,理解自己吧。...

继续阅读

為之留戀的新竹 來新竹之前本沒有對她有過高的期待,慢慢對她加分要從桃園火車站出發前往新竹開始。 在桃園火車站的候車月台上,有醒目的旅遊資料發放處,這上面的擺放的全是新竹的旅遊宣傳資料,關鍵的是資料做得非常簡潔易懂,而接下來一天的新竹之行就全部是依據這份寶典的指引來完成的。...

继续阅读

從桃園開始台灣之行 初到台灣恰逢華夏銀行系統升級,特意準備的華夏銀聯卡在桃園機場沒能派上用場,只好用建行在機場5000塊,算下來是很不划算的,但是沒辦法,誰叫我出機場就得花錢呢。 從機場打車到桃園的酒店,花了將近六百塊新台幣,到酒店時五點多,天已經漸亮了,洗漱完等到七點吃過早餐就開始補覺囉,一覺醒來已是中午,帶著換下來的衣服外出找自助洗衣店,順便覓食。...

继续阅读

  • Prev
  • Next

在Ubuntu上安装基于Nginx的WordPress

2

文章分类 : C语言, Linux, Ubuntu, Windows, Wordpress, 应用与编程, 浏览器, 网络

Nginx算是一个轻量级的高并发web服务器,虽然不及Apache安全,但它的性能远远优于Apache,尤其是在需要高并发的大型服务器上效果更显著。由俄罗斯人于2004年着手开发,有Linux版与Windows版,基于C语言,完全开放源码。相比臃肿的Apache,Nginx就显得很小巧了,源代码700K都不到,像新浪博客、迅雷等很多有名的网站就是基于Nginx的。Nginx既然有这么多优点,自然要一睹为快了,于是我便捣鼓着在Ubuntu 10.10 上搭建一个Wordpress尝尝鲜。搭建Wordpress运行环境离不开PHP和Mysql,所以需要安装Nginx、PHP5、spawn-fcgi、MySQL以及一些依赖的库。下面简单介绍一下我的搭建过程。

1、安装Nginx

Nginx我是从官网下的1.0.0的源代码(nginx-1.0.0.tar.gz),解压后“sudo ./config”检查是否满足编译要求,通常情况下都会提示有两个依赖的库需要安装,第一次提示缺少pcre包,下载pcre-8.02.tar.gz,解压后config、make、sudo make install,pcre安装好了。接着回到nginx执行config,第二次提示缺少OpenSSL包,执行“sudo apt-get install libcherokee-mod-libssl libssl-ocaml libssl-ocaml-dev libssl-dev libssl0.9.8”将自动安装好OpenSSL,如果提示”下列软件包有未满足的依赖关系:libssl-dev : 依赖: libssl0.9.8 (= 0.9.8o-1ubuntu4) 但是 0.9.8o-1ubuntu4.4 正要被安装”,我当时就遇到这个头疼的问题,尝试了很多办法也没搞定,最后发现是源未更新,进入“系统->系统管理->更新管理器->设置”,在弹出的“软件源”对话框中选“更新”标签页,选中“Ubuntu 更新”下面的四个复选框,关闭后在终端先执行“sudo apt-get update”,然后重新执行“sudo apt-get install libcherokee-mod-libssl libssl-ocaml libssl-ocaml-dev libssl-dev libssl0.9.8”即可。再次回到nginx目录执行config应该就能成功了,如果还提示缺少什么库,依次apt-get装上就是。最后执行make、sudo make install 两条命名就将Nginx装好了,执行“sudo /etc/init.d/nginx restart”重启nginx,通过浏览器访问 http://127.0.0.1 会出现“Welcome to nginx!”界面,恭喜您,成功了。当然,您也可以选择更简单更傻瓜的安装方式,即执行“sudo apt-get install nginx”,再执行“sudo /etc/init.d/nginx restart”,如果提示无法bind,那是因为其他程序占用了80端口,用“sudo netstat -ntlp”找到占用80端口的程序,“sudo pkill 程序名”杀之。

默认的web服务器目录为/var/www/nginx-default,到时候可以存放wordpress的php源码,浏览器访问本机地址便可以访问到该目录下的网页文件。

2、安装PHP5

网上找了PHP依赖的一些库,对这个没有深入的研究,也不关心其具体的实现,为了不缺包,干脆一口气都装了。
sudo apt-get install php5 php5-tidy php5-cgi php5-mysql php5-curl php5-imap php5-gd php5-idn php-pear php5-imagick php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmpphp5-xmlrpc php5-sqlite php5-xsl

3、安装spawn-fcgi

为了减少一些程序上的漏洞,Nginx并不支持cgi方式运行,但是我们可以使用FastCGI方式来执行PHP程序。
sudo apt-get install spawn-fcgi
安装好spawn-fcgi后,为了让Nginx和spawn-fcgi能够配合运行,修改/etc/nginx/fastcgi_params,加入下面这一行:
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
为了正常使用SCRIPT_FILENAME变量,需要在/etc/php5/cgi/php.ini中找到cgi.fix_pathinfo=1,去掉前面的注释。打开/etc/nginx/sites-available/default,大致修改成如下内容:

# You may add here your
# server {
#	...
# }
# statements for each of your virtual hosts
server {
	listen   80; ## listen for ipv4
	listen   [::]:80 default ipv6only=on; ## listen for ipv6
	server_name  localhost;
	root /var/www/nginx-default;
	access_log  /var/log/nginx/localhost.access.log;
	location / {
		root   /var/www/nginx-default;
		index  index.php index.html index.html index.htm;
	}
	location /doc {
		root   /usr/share;
		autoindex on;
		allow 127.0.0.1;
		deny all;
	}
	location /images {
		root   /usr/share;
		autoindex on;
	}
	#error_page  404  /404.html;
	error_page  404  /404.html;
	location = /404.html {
	 	root /var/www/nginx-default;
	}
	# redirect server error pages to the static page /50x.html
	#
	error_page   500 502 503 504  /50x.html;
	location = /50x.html {
		root   /var/www/nginx-default;
	}
	# proxy the PHP scripts to Apache listening on 127.0.0.1:80
	#
	#location ~ \.php$ {
		#proxy_pass   http://127.0.0.1;
	#}
	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	#location ~ /\.ht {
		#deny  all;
	#}
	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
	location ~ \.php$ {
		fastcgi_pass   127.0.0.1:9000;
		fastcgi_index  index.php;
		#fastcgi_param  SCRIPT_FILENAME  /var/www/nginx-default$fastcgi_script_name;
		include fastcgi_params;
	}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#listen   8000;
#listen   somename:8080;
#server_name  somename  alias  another.alias;
#location / {
#root   html;
#index  index.html index.htm;
#}
#}
# HTTPS server
#
#server {
#listen   443;
#server_name  localhost;
#ssl  on;
#ssl_certificate  cert.pem;
#ssl_certificate_key  cert.key;
#ssl_session_timeout  5m;
#ssl_protocols  SSLv3 TLSv1;
#ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
#ssl_prefer_server_ciphers   on;
#location / {
#root   html;
#index  index.html index.htm;
#}
#}

启动spawn-fcgi:
sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
参数含义如下
* -f 指定调用FastCGI的进程的执行程序位置,根据系统上所装的PHP的情况具体设置
* -a 绑定到地址addr
* -p 绑定到端口port
* -s 绑定到unix socket的路径path
* -C 指定产生的FastCGI的进程数,默认为5(仅用于PHP)
* -P 指定产生的进程的PID文件路径
* -u和-g FastCGI使用什么身份(-u 用户 -g 用户组)运行,Ubuntu下可以使用www-data,其他的根据情况配置,如nobody、apache等
如果出现端口不能绑定的情况,可以找进程杀掉或者换端口。
为了让系统启动的时候同时启动PHP的FastCGI进程,推荐将上一段代码添加到/etc/rc.local文件底部。
重新载入nginx:
sudo /etc/init.d/nginx reload

4、安装MySQL

sudo apt-get install mysql-server mysql-client
安装过程中会提示输入Root用户密码,按提示输入即可。
启动MySQL:
sudo /etc/init.d/mysql start
进入MySQL:
mysql –u root –p
按提示输入root密码就进入MySQL了。
为Wordpress创建一个独立的数据库:
mysql>CREATE DATABASE 您想创建的数据库名;
mysql>GRANT ALL PRIVILEGES ON 您想创建的数据库名.* TO 您想使用或创建的用户名@localhost IDENTIFIED BY “密码”;
如果您想进行远程访问或控制,那么你要做两件事:
① mysql>GRANT ALL PRIVILEGES ON 数据库名.* TO 用户名@”%” IDENTIFIED BY “密码”;
②在/etc/mysql/my.cnf文件中找到bind-address=127.0.0.1,在前面加上#号将其注释。

5、安装Wordpress

将Wordpress源码包解压到/var/www/nginx-default目录下,通过浏览器访问 http://127.0.0.1 会出现熟悉的Wordpress安装页面,根据提示输入上一步创建的数据库名、密码等信息,Wordpress便安装成功了。

 

除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。

本文地址:https://www.cpplive.com/html/571.html

评论 (2)

这里因为你的留言而存在!!!

You must be logged in to post a comment.