初始化一台linux server来做项目管理和测试

毕业以后很多没做过这么技术的事情了,不过今年要开始咯。

Goal:

练手安装Nginx,并且配置不同的server,后端有Tomcat的(JIRA),有PHP(总得有的),还有Tornado和Node。

最后效果是都放在一个Nginx后面的不同子域名(而不是不同端口或者path)。那么记录开始。

[Optional] 懒人用的Ubuntu Server

没用CentOS因为不熟,用的Ubnutu 14.04。安装Xfce4+VNC。然后 vncserver :1 -geometry 1280x960,再从你的 IP:5901 登进去 apt-get install synaptic。

BTW1:选Xfce是发现apt-get install --no-install-recommends ubuntu-desktop 装的Unity或者Gnome在VNC下怎么都配不出来,搜索看貌似很多人都有这个问题

BTW2:后来发现其实装这些,还不如WinSCP+Putty方便。。默默vncserver -kill :1

1、安装Nginx

apt-get install nginx,再/etc/init.d/nginx start。nginx.conf文件在/etc/nginx/,主要配置编辑/etc/nginx/sites-available/default或者在同目录加文件再在sites-enabled里面ln。

更多配置见官方文档,还有这里那里。正则表达式(nginx配置里面以 “~ ” 打头)的参考RegExr做得不错。

2、安装和配置PHP+MySQL

apt-get install php5-cli php5-cgi mysql-server php5-mysql

sudo apt-get install spawn-fcgi,然后 spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -f /usr/bin/php-cgi (最好把这个写到启动里面去,原理见这里那里

然后配置nginx的某个server,见这里。我自己是这么配的。

server {
    listen 80;
    server_name test.php.yourdomain.com;
    root /usr/share/nginx/test_php;
    index index.php;
    
    location ~ .php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /usr/share/nginx/test_php$fastcgi_script_name;
        try_files $uri =404;
    }
}
Nginx to PHP Example

然后弄phpMyAdmin就不赘述了。大多数东西配完都可以 nginx -s reload 生效。

4、安装JIRA

本来想自己搞个Tom猫,结果发现直接有linux installer。JIRA会占用用两个端口(HTTP 8080,Control 8005)。然后进http去setup。

数据库本来想用Postgres,但phppgadmin目前连PG 9.3都不支持,用起来可能会遇到麻烦,就MySQL了。

创建用户和给权限,还要把MySQL的JDBC驱动拷给JIRA(默认安装的话是 /opt/atlassian/jira/lib),再重启JIRA。

JIRA的权限配置:administrator,developer,user三种role。有些user不一定需要看所有项目,就把他从jira-users(默认的user)去掉,建个xxx-users。并且做两点:

1)在项目的Roles里面加xxx-users这个role到Users;2)Global Permissions里面给到和jira-user一样的正常user权限。

关于Nginx的配置,Tomcat这边也要改proxyName和proxyPort等让他知道反向代理从哪来,官方方案是配8080再把8081用了in case。 Nginx的配置如下:

server {
    listen 80;
    server_name jira.yourdomain.com;

    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8080;
        client_max_body_size 10M;
    }
}
Nginx to Tomcat Example

5、配置Supervisor +Tornado

TBD

原文地址:https://www.cnblogs.com/dxz/p/setup-linux-nginx-jira-php-tornado.html